本文通过图文结合,简要讲述微服务的调用原理,以及服务治理的相关概念。
1.微服务的调用原理
举个栗子:你去会所洗脚。首先,技师肯定要先去会所应聘,通过之后,会所会记录该技师的信息和技能,然后你到会所之后,肯定是要告诉会所你需要洗脚的服务,然后会所找到这个技师的信息,告诉你技师现在在111房间等你,然后你就直接去111房间找这个技师服务去了。
微服务的调用原理和这个就有着异曲同工之妙,我们的服务提供方B,要注册自己的名称、IP地址和端口号到注册中心,当有服务调用方需要调用服务的时候,向注册中心拉取的所有的服务列表(当前有效的服务都会提供),服务调用方拿到需要的ip地址和端口号之后,就可以找到我们的服务提供方,就能直接去调用了。
2.服务治理的相关概念
服务的注册
对外提供服务的这个服务,将ip地址和端口 注册到注册中心的map集合中服务的发现
服务的调用方发送请求去注册中心获取当前有效的服务列表的信息(获取所有服务列表的信息)服务的续约
每隔一段时间,我们的服务会向注册中心报告“我还活着”,注册中心就会将你最后一次的请求时间设置到当前的服务上服务的剔除
如果过了指定时间依然没来续约(nacos中是30s)、那么注册中心就会将你这个服务的信息给移除掉,这个就叫做服务的剔除服务的同步
因为单机部署存在单点问题,如果nacos宕机了 ,所有的服务就都不能访问了,所以在生产环境中我们会做成集群,服务向注册中心注册的时候,多个nacos服务的信息是需要同步的,这个就叫做服务的同步服务的自我保护
在某一个时间点,大量的服务都没有来续约,这种场景下,注册中心是不会将所有的服务都剔除去,而是等待一段时间(等待网络的恢复),如果过了最大的等待时间,依然没有恢复,这个时候就会移除这个列表。