SOFABolt 是一个轻量级、高性能、易用的远程通信框架,基于netty4.1,由蚂蚁金服开源。

本系列博客会分析 SOFABolt 的使用姿势,设计方案及详细的源码解析。后续还会分析 SOFABolt 的最佳实践 SOFARPC 的设计和实现

SOFABolt 源码分析1 - 最简使用姿势
SOFABolt 源码分析2 - RpcServer 服务端启动设计
SOFABolt 源码分析3 - RpcClient 客户端启动设计
SOFABolt 源码分析4 - Sync 同步通信方式设计
SOFABolt 源码分析5 - Oneway 单向通信方式设计
SOFABolt 源码分析6 - Future异步通信方式设计
SOFABolt 源码分析7 - Callback 异步通信方式设计
SOFABolt 源码分析8 - RemotingCommand 命令协议的设计
SOFABolt 源码分析9 - UserProcessor 自定义处理器的设计
SOFABolt 源码分析10 - 精细的线程模型的设计
SOFABolt 源码分析11 - Config 配置管理的设计
SOFABolt 源码分析12 - Connection 连接管理设计
SOFABolt 源码分析13 - Connection 事件处理机制的设计
SOFABolt 源码分析14 - Connection 连接监控机制的设计
SOFABolt 源码分析15 - 双工通信机制的设计
SOFABolt 源码分析16 - 上下文机制的设计
SOFABolt 源码分析17 - Heartbeat 心跳机制的设计
SOFABolt 源码分析18 - Protocol 私有协议的设计
SOFABolt 源码分析19 - Codec 编解码设计
SOFABolt 源码分析20 - Serializer 序列化机制设计

SOFABolt 源码分析21 - 超时与快速失败机制的设计

SOFABolt 源码分析22 - 优雅停机机制的设计

SOFABolt 设计总结 - 优雅简洁的设计之道

SOFABolt 源码分析的更多相关文章

  1. ABP源码分析一:整体项目结构及目录

    ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...

  2. HashMap与TreeMap源码分析

    1. 引言     在红黑树--算法导论(15)中学习了红黑树的原理.本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Ja ...

  3. nginx源码分析之网络初始化

    nginx作为一个高性能的HTTP服务器,网络的处理是其核心,了解网络的初始化有助于加深对nginx网络处理的了解,本文主要通过nginx的源代码来分析其网络初始化. 从配置文件中读取初始化信息 与网 ...

  4. zookeeper源码分析之五服务端(集群leader)处理请求流程

    leader的实现类为LeaderZooKeeperServer,它间接继承自标准ZookeeperServer.它规定了请求到达leader时需要经历的路径: PrepRequestProcesso ...

  5. zookeeper源码分析之四服务端(单机)处理请求流程

    上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ...

  6. zookeeper源码分析之三客户端发送请求流程

    znode 可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的 ...

  7. java使用websocket,并且获取HttpSession,源码分析

    转载请在页首注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/6238826.html 一:本文使用范围 此文不仅仅局限于spring boot,普通的sprin ...

  8. ABP源码分析二:ABP中配置的注册和初始化

    一般来说,ASP.NET Web应用程序的第一个执行的方法是Global.asax下定义的Start方法.执行这个方法前HttpApplication 实例必须存在,也就是说其构造函数的执行必然是完成 ...

  9. ABP源码分析三:ABP Module

    Abp是一种基于模块化设计的思想构建的.开发人员可以将自定义的功能以模块(module)的形式集成到ABP中.具体的功能都可以设计成一个单独的Module.Abp底层框架提供便捷的方法集成每个Modu ...

随机推荐

  1. flink的Standalone集群安装

    1:上传安装包到linux系统 使用rz命令 2:解压 tar –zxvf flink-1.5.0-bin-hadoop24-scala_2.11.tgz 3:修改配置文件 vim conf/flin ...

  2. jenkins(2): jenkins定时构建项目

    参考:http://blog.sina.com.cn/s/blog_b5fe6b270102v7xo.html https://blog.csdn.net/xueyingqi/article/deta ...

  3. selenium 常见面试题以及答案

    1.怎么 判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如 ...

  4. P1892 [BOI2003]团伙 并查集

    题目描述 1920年的芝加哥,出现了一群强盗.如果两个强盗遇上了,那么他们要么是朋友,要么是敌人.而且有一点是肯定的,就是: 我朋友的朋友是我的朋友: 我敌人的敌人也是我的朋友. 两个强盗是同一团伙的 ...

  5. Django中的Request和Response

    接触Django这么久了,从来没有好好学习关于Django中的Request和Response对象.借着文件上传下载的相关工作,现在总结一下也不错. 当一个页面请求过来,Django会自动创建一个Re ...

  6. 开启vue源码的解析攻略---认识flow

    javascript 是动态类型的代码,有很多的写法很不容易报错,想引入静态类型检查的flow,之前做项目的时候用的typascript的,看的大概的写法和 typescript 类似,因为规范避免了 ...

  7. ul无点标签左移

    ul标签去除掉点,ul li 块仍会在原来的位置,即与上一块内容相对右移一点. 这是 ul标签的默认padding值导致的. 修改style或者CSS中的class为如下即可 { list-style ...

  8. [ 严重 ] my网SQL注入

    RANK  80 金币    100 数据包 POST maoyan.com/sendapp HTTP/1.1Host: xxx.maoyan.comUser-Agent: Mozilla/5.0 ( ...

  9. mybatis之级联关系(一对一、一对多)

    0. 表结构 1. 准备工作 1.1 配置文件等信息,请参考  myBatis之入门示例 1.2 entity 1.2.1 TPersonInfo.java package com.blueStarW ...

  10. ServletContextListener使用详解(监听Tomcat启动、关闭)

    在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期. 当Serv ...