【微服务】微服务调用原理及服务治理

本文通过图文结合,简要讲述微服务的调用原理,以及服务治理的相关概念。

1.微服务的调用原理

举个栗子:你去会所洗脚。首先,技师肯定要先去会所应聘,通过之后,会所会记录该技师的信息和技能,然后你到会所之后,肯定是要告诉会所你需要洗脚的服务,然后会所找到这个技师的信息,告诉你技师现在在111房间等你,然后你就直接去111房间找这个技师服务去了。

微服务的调用原理和这个就有着异曲同工之妙,我们的服务提供方B,要注册自己的名称、IP地址和端口号到注册中心,当有服务调用方需要调用服务的时候,向注册中心拉取的所有的服务列表(当前有效的服务都会提供),服务调用方拿到需要的ip地址和端口号之后,就可以找到我们的服务提供方,就能直接去调用了。

2.服务治理的相关概念

服务的注册

对外提供服务的这个服务,将ip地址和端口 注册到注册中心的map集合中

服务的发现

服务的调用方发送请求去注册中心获取当前有效的服务列表的信息(获取所有服务列表的信息)

服务的续约

每隔一段时间,我们的服务会向注册中心报告"我还活着",注册中心就会将你最后一次的请求时间设置到当前的服务上

服务的剔除

如果过了指定时间依然没来续约(nacos中是30s)、那么注册中心就会将你这个服务的信息给移除掉,这个就叫做服务的剔除

服务的同步

因为单机部署存在单点问题,如果nacos宕机了 ,所有的服务就都不能访问了,所以在生产环境中我们会做成集群,服务向注册中心注册的时候,多个nacos服务的信息是需要同步的,这个就叫做服务的同步

服务的自我保护

在某一个时间点,大量的服务都没有来续约,这种场景下,注册中心是不会将所有的服务都剔除去,而是等待一段时间(等待网络的恢复),如果过了最大的等待时间,依然没有恢复,这个时候就会移除这个列表。

相关推荐
SteveCode.18 分钟前
高性能微服务架构:Spring Boot 集成 gRPC 实现用户与订单服务即时交互
spring boot·微服务·架构
周湘zx4 小时前
k8s中的微服务
linux·运维·服务器·微服务·云原生·kubernetes
ღ᭄ꦿ࿐Never say never꧂10 小时前
微服务架构中的负载均衡与服务注册中心(Nacos)
java·spring boot·后端·spring cloud·微服务·架构·负载均衡
写bug写bug10 小时前
6 种服务限流的实现方式
java·后端·微服务
一个诺诺前行的后端程序员20 小时前
springcloud微服务实战<1>
spring·spring cloud·微服务
王中阳Go20 小时前
字节跳动的微服务独家面经
微服务·面试·golang
沛沛老爹1 天前
服务监控插件全览:提升微服务可观测性的利器
微服务·云原生·架构·datadog·influx·graphite
珍珠是蚌的眼泪1 天前
微服务_入门2
网关·微服务·gateway·远程调用·feign
刘某某.1 天前
使用OpenFeign在不同微服务之间传递用户信息时失败
java·微服务·架构
bug菌¹1 天前
滚雪球学SpringCloud[4.1讲]: Spring Cloud Gateway详解
java·spring cloud·微服务