微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ketty ketty-srv模块ketty-client模块ketty-codec模块ketty-router模块ketty-monitor模块ketty-analysis模块 基于netty实现的服务端Nio MVC业务开发

程序名称:ketty ketty-srv模块ketty-client模块ketty-codec模块ketty-router模块ketty-monitor模块ketty-analysis模块

授权协议: GPL

操作系统: 跨平台

开发语言: Java

ketty ketty-srv模块ketty-client模块ketty-codec模块ketty-router模块ketty-monitor模块ketty-analysis模块 介绍

Ketty

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

ketty-srv模块

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

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

ketty-client模块

KettyServer高可用NIO客户端

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

支持连接池

ketty-codec模块

编解码框架

header body
size len uri msgid paramsMap body
short(2byte) short(2byte) string int(4byte) map JSONString
header body
size len msgid(消息id) resCode(消息返回码) body
short(2byte) short(2byte) int(4byte) short(2byte) JSONString

ketty-router模块

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

ketty-monitor模块

性能监控 报警

ketty-analysis模块

接口统计分析 智能推荐

ketty ketty-srv模块ketty-client模块ketty-codec模块ketty-router模块ketty-monitor模块ketty-analysis模块 官网

http://zhizus.com/blog/2015/10/ketty.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐