一、通信框架
1. 通信包含两部分:传输协议+网络IO
2. 传输协议:TCP/UDP/HTTP,基于Socket的流处理,socket编程需要对每个请求开一个线程,阻塞式等待通信消息
3. 网络IO:NIO是Socket的改善,使用selector优化
4. Netty是基于NIO的分布式通信框架,对TCP或者UDP的通信框架进行了抽象
5. Dubbo通信协议基于Netty
6. grpc
二、序列化框架:用于对数据的序列化和反序列化
1. XML框架
2. JSON框架:jackson, gson,fastjson
3. ProtoBuf框架
4. Hession框架,二进制序列化
5. JDK自带的序列化反序列化类:ObjectInput(Out)Stream,高并发情况下性能不好
三、分布式服务追踪
1. 为了记录各个服务之间的调用
2. 从头到尾使用唯一的traceid
四、服务注册中心
1. 进行服务发现和管理
2. Eureka,在Spring Cloud中
3. Zookeeper,一般跟dubbo结合
4. Consul
5. ETCD
参考: