SOFA Bolt
文章平均质量分 94
任性之闲来无事
共勉
展开
-
SOFA BOLT源码解析之概述
1 概述 关于SOFA Bolt的文档来自于Alipay开源社区,链接地址为: https://github.com/alipay/sofa-bolt https://github.com/alipay/sofa-bolt/wiki/SOFA-Bolt-Handbook 此处直接引用该文档内容,主要是便于大家理解源码解析部分。1.1 介绍...原创 2018-07-13 10:32:27 · 2214 阅读 · 2 评论 -
SOFA BOLT源码解析之设计要点-网络IO
1 设计要点解析 SOFA Bolt作为基础通信层,其功能在设计和实现的过程中,主要从以下几个方面考虑: 1. 网络IO; 2. 线程模型; 3. 通信模型; 4. 连接管理; 5. 批量解包和批量提交; 6. 事件触发和监听机制; 7. 全双工通信; ...原创 2018-07-13 10:31:57 · 779 阅读 · 0 评论 -
SOFA BOLT源码解析之设计要点-线程模型
1.设计要点解析1.1 线程模型 此部分内容主要介绍蚂蚁为什么选择Netty4作为基础网络编程框架,来源于蚂蚁技术团队发布的一篇文章: 文章名称为:蚂蚁通信框架实践; 链接地址为:https://mp.weixin.qq.com/s/JRsbK1Un2av9GKmJ8DK7IQ? 此处引用该文章的内容,主要是想让大家更好的理解SOFA Bo...原创 2018-07-13 10:30:28 · 1222 阅读 · 0 评论 -
SOFA BOLT源码解析之设计要点-通信模型
1. 设计要点解析1.1 通信模型 SOFA Bolt当前支持四种通信模型: ● oneway:单向调用。单向调用不会阻塞请求线程,不关心响应。但是,使用时需要注意控制调用频率和节奏,防止压垮接收方; ● sync:同步调用。同步调用会阻塞请求线程,待响应返回后才能进行下一个请求。这是最常用的一种通信模型; ● future:futu...原创 2018-07-13 10:29:25 · 1693 阅读 · 2 评论 -
SOFA BOLT源码解析之设计要点-连接管理
1. 设计要点解析1.1 连接管理 为了提高通信效率,我们需要考虑复用连接,减少TCP三次握手的次数,因此需要完善的连接管理的机制。 另外,在业务通信场景中,还需要识别一些不得不走硬负载(比如 LVS VIP)的场景,此时如果只建立单链接,可能会出现负载不均衡的问题,因此需要建立多个连接,来缓解负载不均的问题。 为此,SOFA Bolt设计了一个针对某个...原创 2018-07-13 10:28:22 · 1774 阅读 · 0 评论 -
SOFA BOLT源码解析之设计要点-通信协议
1. 设计要点解析1.1 通信协议 SOFA Bolt定义了两个版本的私有通信协议,即V1版和V2版。 此处以V2版为例,详细描述一下私有通信协议的设计。 一、 RpcProctocolV2请求协议格式如下: RpcProctocolV2请求协议字段: 1. proto:协议码ProtocolCode。如果一个端口,需要...原创 2018-07-13 10:27:39 · 3082 阅读 · 0 评论