微服务思想
在微服务架构中,注册中心是核心的基础服务之一,如微服务中的服务治理框架,服务治理的核心功能就是注册中心。
1、SOA思想
一种面向服务的架构,将不同的服务进行拆分,并通过这些服务之间定义良好的接口和协议联合起来,接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互
2、RPC
远程过程调用,基于TCP进行远程调用,数据传输在传输层TCP层完成,RPC主要依赖于客户端和服务端之间建立Socket链接进行,底层实现比REST更复杂。
REST是基于HTTP传输,数据传输在应用层完成,通信代价高。
1、注册中心
记录了服务和服务地址的映射关系。
Dubbo支持多种注册中心的实现,常用的是:1、Redis; 2、Zookeeper
SpringCloud 支持的 Eureka等
1.1、Zookeeper原理
原理:
Zookeeper 的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。
Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,
Zab就进入恢复模式,当领导者被选举出来,且大多数Server完成和 leader的状态同步以后,恢复模式就结束了。
状态同步保证了leader和Server具有相同的系统状态。
为了保证事务的顺序一致性,zookee