娱乐正文

Git@OSC项目推荐——高性能NIO网络通讯框架

Git@OSC 项目推荐 —— 高性能 NIO 网络通讯框架

Git@OSC 项目推荐 —— 高性能 NIO 网络通讯框架

zbus-remoting 是 zbus 消息总线的通讯基础项目,功能上有点类似 netty 与 mina。


为什么没有选择netty或者mina?

个人观点:netty与mina过于庞大,需要学习的成本比较高,debug中的chain过长,自己不方便改写

zbus-remoting对JAVA NIO通讯做了个简单的封装

核心目标:

    1) 具备多线程单机扩容能力--尽量吃完CPU

    2) 应用上层简单扩展,快速搞定高效Server与同步异步Client

    尽管这两个目标也是netty与mina的目标之一,但是zbus-remoting将更加简洁,方便二次个性化修改

    zbus-remoting应用项目

    zbus消息队列、服务总线

    zwall DMZ安全隔离


    设计概要

    DispatcherManager管理Dispatcher线程生命周期,通过Codec暴露编码解码消息协议,通过EventAdaptor暴露事件处理。

    DispatcherManager+Dispatcher+Session组成的 引擎 提供了 “【目标1】多线程单机扩容能力”

    EventAdaptor扩展应用提供了“【目标2】快速搞定高效Server与同步异步Client”.

    默认提供MessageCodec的实现,默认采用HTTP兼容协议--KV头部+Binary消息体。一般来说应用只需要个性化EventAdaptor。比如zbus消息总线就是一个案例。

    由于Server和Client在事件的范围上的区别(Client 的EventAdaptor希望是每个Client一个,Server的EventAdaptor希望是共享的),我们目前实现方案中默认给出了两个不同 DispatcherManager:ClientDispatcherManager、ServerDispatcherManager

    GIt@OSC 地址:

    https://git.oschina.net/rushmore/zbus-remoting


    Git@OSC 项目推荐 —— 高性能 NIO 网络通讯框架


    相关阅读:
    首存活动 http://bokefaqipai.com

相关阅读