一般我们常见的RPC框架都包含如下三个部分:

注册中心,用于服务端注册远程服务以及客户端发现服务
服务端,对外提供后台服务,将自己的服务信息注册到注册中心
客户端,从注册中心获取远程服务的注册信息,然后进行远程过程调用
上面提到的注册中心其实属于服务治理,即使没有注册中心,RPC的功能也是完整的。之前我大多接触的是基于zookeeper的注册中心,这里基于consul来实现注册中心的基本功能。
Consul的一些特点:
Raft相比Paxos直接
此外不多描述,还没研究raft
支持数据中心,可以用来解决单点故障之类的问题
集成相比zookeeper更加简单(代码量少,逻辑清晰简单)
支持健康检查,支持http以及tcp
自带UI管理功能,不需要额外第三方支持。(zookeeper需要单独部署zkui之类的第三方工具)
支持key/value存储
网友评论

