nacos源码解析(一)

本文深入探讨Nacos的服务发现机制,它使用自研的一致性算法替代Key-Value存储,并通过UDP进行变化通知。此外,Nacos具备良好的扩展性,支持TCP、HTTP和MySQL健康检查。在配置中心部分,Nacos利用MySQL存储并根据updateTime判断数据变化,优于基于事件表的方法。同时,介绍了Nacos如何进行心跳续约,包括处理HTTP心跳请求、更新实例心跳时间和定时检查下线实例的机制。
摘要由CSDN通过智能技术生成

服务发现部分:

1.nacos自己实现了一个简单的一致性算法(raft),就是说不在依赖于Key-Value存储系统(etcd),也不依赖于mysql或者Redis这种存储的东西,nacos自己就能搞定。

2.变化的通知push采用的是udp,不好地方就是sdk要开一个udp端口,感觉其实也还好吧。

4.代码的扩展性比较好,健康检查能方便的支持tcp,http和mysql。

配置中心部分:

1、存储还是mysql,不过判断数据是否有变化是根据updateTime,定时根据updateTime范围找有不有数据。

而我们的做法是每次配置变化就向事件表插一条数据,定时看事件表有不有新的数据。config感觉没有nacos的做法好,nacos可以限定自己关心的范围,而事件必然是全局的,扩展性不是很好。

Nacos****如何做心跳续约:

1.处理http心跳请求

在这里插入图片描述

2.然后就会更新这个ip的最后心跳时间

在这里插入图片描述

3.有个定时任务会每5s检查是不是太久没心跳,如果没心跳了就下线掉这个实例,这个任务就是根据这个ip的最后心跳时间来判断的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值