zl程序教程

您现在的位置是:首页 >  后端

当前栏目

SpringCloud单排日记(白银篇)

SpringCloud 日记 单排
2023-06-13 09:14:08 时间

eurake高可用结构

在分布式集群中,高可用是一个必不可少的特性,作为整个分布式集群的注册中心也不例外,eureka提供了将本身注册为服务提供者的特性,能让不同的注册中心相互注册与发现,以防注册中心节点不可用导致整个分布式集群故障,以保证整个分布式集群的高可用特性。

eureka注册机制和注册信息的结构

服务提供者:
	注册:每次启动一个eureka客户端进程时,会根据指定的defaultZone访问注册中心的接口(http协议除外),请求过程中,client进程会携带内存数据到注册中心,注册中心接收消息,保存注册结构。
	续约:服务提供者会每隔秒钟向注册中心发送一次心跳,告知注册中心该节点存活,注册中心会剔除
		死亡以及不活跃的节点。

注册中心:
	管理注册信息结构
	当注册中心接收到/eureka地址的请求之后,会根据参数信息,自动封装参数信息保存到自身的
双层map中。
	第一层map:
	key:服务提供者的服务服务名称
	value:保存节点实例信息的第二层map
	第二层map:
		key:实例名称,结构固定 系统用户名:服务名:端口号
		value:instance实例对象,记录了当前实例节点的所有详细信息
		(meta data元数据,描述数据的信息)

服务的剔除逻辑:
	注册中心每隔秒会自动检测一次所以注册的节点的节点信息,如果发现续约时间戳超过
	秒的节点实例,会自动把这个节点实例从第二层map中剔除掉。
保护机制:
	对于上述的服务剔除逻辑,如果出现了网络异常,通信问题等不可抗因素,防止注册中心
	剔除所有节点信息,eureka提供了保护机制,当同一时间剔除超时的服务实例占整体服务的
	%以上,会停止服务剔除。