手写SpringCloud系列-一分钟理解微服务注册中心(Nacos)原理。

手写SpringCLoud项目地址,求个star
github:https://github.com/huangjianguo2000/spring-cloud-lightweight
gitee:https://gitee.com/huangjianguo2000/spring-cloud-lightweigh

一:什么是注册中心

1. 总结服务注册中心

我们可以理解注册中心就是一个HashMap,服务注册上去,需要用的时候去拉取,通过服务名称可以找到对应服务的IP地址和端口,我们就可以发送http请求(或者直接使用UDP/TCP)进行远程服务调用。

要实现一个微服务注册中心十分复杂, 但是大概的原理就是这样

2. 实例图

箭头处的调用可以理解为HTTP请求。事实上我们使用Nacos他也是用的http请求。
在这里插入图片描述

二 :注册中心的实现

接收POST请求实现服务的注册。
在这里插入图片描述
使用ConcurrentHashMap将注册的服务存起来。
在这里插入图片描述

三:服务发现

通过GET请求拉取所有的服务。这里面有服务实例对应的IP地址和端口等信息,客户端可以直接拿到这些信息去请求服务。
在这里插入图片描述

四:心跳检测

在上面的注册的时候开启一个定时线程去定时检测实例上一次注册心跳的时间,如果超过最大的时间,就移除该服务。

五:心跳注册

客户端开启一个定时任务定时向服务端发送心跳。 就是一个Http请求。
在这里插入图片描述
怎么样,原理是不是很简单, Nacos实现的原理就是这样, 但是他的实现考虑的东西十分的多,也十分复杂,有兴趣可以去查看一下Nacos源码。nacos源码地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值