博客
关于我
Github优秀项目推荐-SOFABolt 是蚂蚁金融服务集团开发的一套基于 Netty 实现的网络通信框架。
阅读量:689 次
发布时间:2019-03-17

本文共 999 字,大约阅读时间需要 3 分钟。

SOFABolt 项目介绍

SOFABolt 是蚂蚁金融服务集团开发的一款基于 Netty 实现的网络通信框架。

这款框架自然而然地诞生,主要目标是帮助开发者解决网络通信中的复杂问题。通过将大量底层通信逻辑抽象化,开发者可以将更多精力投入到业务逻辑实现上,而不是苦苦折腾网络底层的问题。

核心功能介绍

SOFABolt 提供了丰富的通信功能,涵盖以下核心模块:

  • 基础通信功能 ( remoting-core )

    -based 于 Netty 的高效网络 IO 和线程模型,确保高性能。
    -支持智能化的连接管理(无锁建立连接、定时断链、自动重连)。
    -灵活的通信模型支持多种场景:有向通信(oneway)、同步通信(sync)、异步通信(future)、回调通信(callback)。
    -完善的超时控制机制,避免长时间等待。
    -批量解包和批量处理器功能,提升数据传输效率。
    -心跳机制与 IDLE 事件处理,保证长连接稳定性。

  • 协议框架 ( protocol-skeleton )

    -支持命令与命令处理器,轻松定义业务逻辑。
    -灵活的编解码处理器,可定制具体协议需求。
    -心跳触发器,优化服务器资源使用。

  • 私有协议定制实现 - RPC 通信协议 ( protocol-implementation )

    -基于可扩展的 RPC 协议,支持分隔式反序列化。
    -采用 FailFast 机制,确保请求处理效率。
    -可配置的用户请求处理器(UserProcessor)。
    -双向通信支持,灵活满足业务需求。

  • 如何使用

    SOFABolt 提供两种主要使用场景:

  • 简单使用模式

    -快速搭建远程通信框架,无需深入研究私有协议细节。
    -通过内置 RPC 通信协议,轻松启动客户端与服务器。
    -注册自定义的用户请求处理器即可完成远程调用。

  • 定制化模式

    -复用 SOFABolt 的基础通信模型和协议接口。
    -基于私有协议定制 Command 类型、Command 处理器、编解码处理器等实现模块。

  • 如何贡献

    代码开源,欢迎在签署协议后提交贡献代码,具体细节请参考项目文档。

    版权协议

    对代码进行修改和变更需遵守相关协议,详情请参考完整协议文档。

    核心技术栈

    本文中提及的技术点包括 Netty 网络框架、微服务架构、消息中间件等相关技术。


    如果你有关于 SOFABolt 或相关技术的任何疑问,欢迎在技术讨论群中交流!

    转载地址:http://agdez.baihongyu.com/

    你可能感兴趣的文章
    Hadoop学习笔记—Yarn
    查看>>
    Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
    查看>>
    wxWidgets源码分析(3) - 消息映射表
    查看>>
    wxWidgets源码分析(5) - 窗口管理
    查看>>
    wxWidgets源码分析(8) - MVC架构
    查看>>
    wxWidgets源码分析(9) - wxString
    查看>>
    [梁山好汉说IT] 梁山好汉和抢劫银行
    查看>>
    [源码解析] 消息队列 Kombu 之 基本架构
    查看>>
    [源码分析] 消息队列 Kombu 之 启动过程
    查看>>
    wx.NET CLI wrapper for wxWidgets
    查看>>
    Silverlight for linux 和 DLR(Dynamic Language Runtime)
    查看>>
    ASP.NET MVC Action Filters
    查看>>
    Powershell中禁止执行脚本解决办法
    查看>>
    OO_Unit2 多线程电梯总结
    查看>>
    git clone 出现fatal: unable to access ‘https://github 错误解决方法
    查看>>
    04_Mysql配置文件(重要参数)
    查看>>
    python 加密算法及其相关模块的学习(hashlib,RSA,random,string,math)
    查看>>
    JavaSE总结
    查看>>
    Python IO编程
    查看>>
    CSS入门总结
    查看>>