Magician 1.1.16 发布,handler 采用注解配置
Magician 从诞生的那天起,其定位就是一个网络编程包,他虽然属于应用层,但是又偏向于底层。在用户手里 一般是承担内核的角色,主要职责就是负责网络通信。
由于偏底层的特性,所以在使用的过程中 通常会出现这么一个问题,当我们创建好一个 TCP 服务之后
如果需要增加 handler,就不得不更改这部分代码,使其变成这样
如果需要 websocket 又得改成这样
创建服务的步骤 和 创建 handler 的步骤 耦合的太紧,如果纯粹的使用这个项目 问题倒不大,但是如果把这个项目作为另一个项目的内核来使用,这个问题就会非常明显,因为这个场景下 创建服务的代码会单独封装掉,经常去改这个被封装掉的代码,会有一定的安全隐患。
所以在 1.1.16 中 我们解决了这个问题。
我们采用了注解来定义一个 handler
在创建服务的时候,只需要指定一个扫描范围
这样如果需要新增 handler 就不需要再动这块的代码了
比如新增一个 TCPHandler
新增一个 WebSocketHandler
这么做 就彻底的解耦了,创建服务就是纯粹的创建服务,创建 handler 就是纯粹的创建 handler,两者之间没有很强的联系。
跟 Magician 一起升级的还有
Magician-Web 组件,Martian 组件。这两个组件的升级点,主要是配合 Magician 的改动而改动。而且给 Martian 带来了一个新特性:可以很方便的支持 WebSocket 了。
Magician 的性能测试
TFB 测试结果 达到了每秒可以完成 15 万次请求。
Magician IO,Magician 开源项目的官方公众平台,会第一时间推送 Magician 的动态,同时也会不定期的发布业内资讯,技术文章等
版权声明: 本文为 InfoQ 作者【Magician网络编程包】的原创文章。
原文链接:【http://xie.infoq.cn/article/bd3d7a568cb0aab9577227062】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论