• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

jetty: 基于netty实现的服务端Nio MVC业务开发平台,提供性能监控,日志分析,动态扩 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

jetty

开源软件地址:

https://gitee.com/dempe/jetty

开源软件介绍:

##Ketty

基于netty实现的服务端Nio MVC业务开发平台,提供性能监控,日志分析,动态扩展的功能。

###ketty-srv模块

基于netty实现支持自定义协议扩展的Nio MVC高性能业务框架

####协议

  • Http
  • Ketty(自定义私有协议)

####基于注解的 mvc

  • @Inject注入
  • @Path 路径支持
  • @Param参数自动注入value

####支持方法调用频率限制RateLimiter

@Actionpublic class SimpleAction {    @Inject    private UserService userService;    // 每秒最多可调用100次,超过100次丢弃,	@Rate(value=100)	@Interceptor(id = "echoInterceptor")    @Path    public User getUserByUid(@Param String uid) {        return userService.getUserByUid(uid);    }}

####拦截器 example

@Aroundpublic class EchoInterceptor extends BaseInterceptor {    private final static Logger LOGGER = LoggerFactory.getLogger(EchoInterceptor.class);    @Override    public boolean before() {        LOGGER.info("==============EchoInterceptor before=========");        return true;    }    @Override    public boolean after() {        LOGGER.info("==============EchoInterceptor after=========");        return true;    }}

KettyServer example

// nio mvc 业务server启动类examplenew KettyServer.Builder()                .tcpNoDelay(true)                .soKeepAlive(true)                .setHttpProtocol()                .host("localhost")                .port(8888)                .build()                .start();// 测试jetty客户端public class JettClientTest {	public static ClientSender clientSender = new ClientSender("localhost", 8888);	public static void main(String[] args) throws Exception {		KettyRequest request = new KettyRequest();		request.setUri("/simpleAction/getUserByUid");		JSONObject params = new JSONObject();		params.put("uid", "12345677");		request.setParameter(params);		String result = clientSender.sendAndWait(request);		System.out.println("result : " + result);	}}

HttpServer example

// nio mvc 业务server启动类examplepublic class SimpleServer {    public static void main(String[] args) throws Exception {         new KettyServer.Builder()                        .setKettyProtocol()                        .port(8888)                        .build()                        .start();    }}

####TODO

  • 支持自定义协议扩展
  • 安全验证
  • 性能优化
  • WebSocket协议的实现

###ketty-client模块

KettyServer高可用NIO客户端

####High availability支持多个节点,节点不可用自动移除

Client pool

支持连接池

断链自动重连

自动维护心跳

###ketty-codec模块

编解码框架

####KettyRequest

header body
size len uri msgId paramsMap body
short(2byte) short(2byte) string int(4byte) map JSONString

####KettyResponse

header body
size len msgId(消息id) resCode(消息返回码) body
short(2byte) short(2byte) int(4byte) short(2byte) JSONString

###ketty-router模块

服务代理模块,提供路由分发功能

###ketty-monitor模块

性能监控报警

###ketty-analysis模块

接口统计分析智能推荐

READ MORE


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap