ketty 基于netty实现的服务端Nio MVC业务开发开源项目

我要开发同款
匿名用户2015年11月09日
91阅读

技术信息

开源地址
https://github.com/huyanping/log-monitor
授权协议
GPL

作品详情

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模块

接口统计分析智能推荐

功能介绍

Ketty 基于 netty 实现的服务端 Nio MVC 业务开发平台,提供性能监控,日志分析,动态扩展的功能。 ketty-srv模块 基于netty实现支持自定义协议扩展的Nio MVC高...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论