Ketty
基于etty实现的服务端NioMVC业务开发平台,提供性能监控,日志分析,动态扩展的功能。
ketty-srv模块基于etty实现支持自定义协议扩展的NioMVC高性能业务框架
协议Http
Ketty(自定义私有协议)
基于注解的mvc@Iject注入
@Path路径支持
@Param参数自动注入value
支持方法调用频率限制RateLimiter@Actiopublic class SimpleActio { @Iject private UserService userService; // 每秒最多可调用100次,超过100次丢弃, @Rate(value=100) @Iterceptor(id = "echoIterceptor") @Path public User getUserByUid(@Param Strig uid) { retur userService.getUserByUid(uid); }}拦截器example@Aroudpublic class EchoIterceptor exteds BaseIterceptor { private fial static Logger LOGGER = LoggerFactory.getLogger(EchoIterceptor.class); @Override public boolea before() { LOGGER.ifo("==============EchoIterceptor before========="); retur true; } @Override public boolea after() { LOGGER.ifo("==============EchoIterceptor after========="); retur true; }}KettyServerexample// io mvc 业务server启动类exampleew KettyServer.Builder() .tcpNoDelay(true) .soKeepAlive(true) .setHttpProtocol() .host("localhost") .port(8888) .build() .start();// 测试jetty客户端public class JettClietTest { public static ClietSeder clietSeder = ew ClietSeder("localhost", 8888); public static void mai(Strig[] args) throws Exceptio { KettyRequest request = ew KettyRequest(); request.setUri("/simpleActio/getUserByUid"); JSONObject params = ew JSONObject(); params.put("uid", "12345677"); request.setParameter(params); Strig result = clietSeder.sedAdWait(request); System.out.pritl("result : " + result); }}HttpServerexample// io mvc 业务server启动类examplepublic class SimpleServer { public static void mai(Strig[] args) throws Exceptio { ew KettyServer.Builder() .setKettyProtocol() .port(8888) .build() .start(); }}TODO支持自定义协议扩展
安全验证
性能优化
WebSocket协议的实现
ketty-cliet模块KettyServer高可用NIO客户端
Highavailability支持多个节点,节点不可用自动移除
Clietpool支持连接池
断链自动重连自动维护心跳ketty-codec模块编解码框架
KettyRequestheaderbodysizeleurimsgIdparamsMapbodyshort(2byte)short(2byte)strigit(4byte)mapJSONStrigKettyResposeheaderbodysizelemsgId(消息id)resCode(消息返回码)bodyshort(2byte)short(2byte)it(4byte)short(2byte)JSONStrigketty-router模块服务代理模块,提供路由分发功能
ketty-moitor模块性能监控报警
ketty-aalysis模块接口统计分析智能推荐
评论