rpc , message queue 和 Rest 比较
af fu jixiang
1. rpc
1.1. 特点
1.1.1. 1.适合同步
1.1.2. 2.使用简单,基于接口
1.1.3. 3.面向方法
1.2. 缺点
1.2.1. 1.等待返回结果会有性能消耗
1.3. 产品
1.3.1. gRPC
1.3.1.1. 协议
1.3.1.1.1. HTTP/2
1.3.1.2. protocol buffers
1.3.1.2.1. 定义文件
1.3.1.2.2. JSON Mapping
1.3.1.2.3. Options
1.3.1.2.4. Generating Your Classes
1.3.1.3. java grpc sample
1.3.2. Thrift
1.3.3. Dubbo
1.3.4. Motan
1.3.5. rpcx
1.4. 使用场景
1.4.1. 强一致性
1.4.2. 关注业务逻辑处理结果
2. message queue
2.1. 特点
2.1.1. 1.适合异步
2.1.2. 2.解耦系统
2.1.3. 3.可以保存消息
2.1.3.1. 速度:文件系统 > 分布式KV > 分布式文件系统 > 数据库
2.1.3.2. 可靠性:数据库 > 分布式文件系统 > 分布式KV > 文件系统
2.2. 缺点
2.2.1. 1.引用了一个新节点,系统可靠性受message queue节点影响
2.3. 产品
2.3.1. ActiveMQ
2.3.2. RabbitMQ
2.3.3. kafka
2.3.4. RocketMQ
2.3.5. ZeroMQ
2.4. 使用场景
2.4.1. 最终一致性
2.4.2. 业务解耦
2.4.3. 广播
2.4.4. 错峰流控
3. Rest
3.1. 特点
3.1.1. 1.轻量
3.1.2. 2.面向资源
3.1.3. 3.安全性,80端口,防火墙友好
3.2. 使用场景
3.2.1. 1.外部rest,内部rpc