用go写rpc框架的具体功能细节

题目来源: 跟谁学

答案:

  1. 注册中心是单机还是分布式的,其中一个挂了怎么办?
    分布式集群。 在集群中,所有节点既是服务提供者同时也是服务消费者。注册中心将自己作为服务向其他注册中心注册自己,从而形成一组互相注册的服务注册中心,因此能够实现服务清单的互相同步,达到服务高可用的效果。
    客户端是分别注册到每一个注册中心的实例上的,若此时断开一个或者几个注册中心实例,只要集群中还有实例存活就依然可以提供正常服务,从而实现了服务注册中心的高可用。
  2. 一致性
    分布式系统一致性算法 应用于系统软件实现集群保持每个节点数据的同步性保持我们的集群中每个节点的数据的一致性的问题,专业的术语分布式一致性的算法。
    如何保持数据的一致性的问题
    所有的写的请求统一交给我们的领导角色(master)实现,领导角色写完数据之后,领导角色在将数据同步给每个节点
  3. 可靠性
    集群进行数据备份,确保不会因为某个节点故障导致数据丢失。
    当leader发生故障时,会有一个follower节点变成leader,这个切换可能存在延时的情况,通过超时机制进行检验。