article cover

Python深度学习入门-day01-Python语法基础 Python

主要的参考资料来源 《深度学习入门:基于Python的理论与实现 (斋藤康毅) 》(鱼书) B站Up主爆肝杰哥的相关视频 主要考虑到是入门以及快速能上手工程,没有基础,不能在数学等其余问题上过多的纠结,本身掌握程度不够,所以不会以李沐老师的课成为第一课程,后续才会去看 此外,因为是为了深度学习才接触的Python,并非专攻Python方向,所以对于Pyt...
ZealSinger 发布于 
article cover

Nacos补档-客户端心跳同步问题.md 技术文档

我们今天来讨论一下Nacos客户端的心跳同步的一个问题 我们知道如下几个点 Nacos客户端会和服务端进行心跳同步 Nacos服务端在集群环境下采用单个责任节点+多个从节点的方式管理,责任节点负责负责健康检查,心跳处理等操作,从节点仅仅担任数据同步工作 一个微服务实例连接集群的条件下,请求可能会因为负载策略发送到任意一个Nacos节点上 那么...
ZealSinger 发布于 
article cover

Nacos源码学习计划-Day26-Nacos2.x-事件驱动架构 技术文档

我们前面提到了,Nacos2.X版本中出现了很多的事件驱动架构的业务处理,对于很多逻辑,例如客户端注册/下线;服务改变;服务订阅等等都是发起一个Event,然后对应的有个Handler处理器进行处理 整体结构分析 我们可以来看一下之前我们已经了解过的几个Event类对象,其实可以发现,都是继承自Event这个事件父类 同样的,我们再去看一下所有的Handl...
ZealSinger 发布于 
article cover

Nacos源码学习计划-Day25-Nacos2.x-服务的注销 Java

今天来看服务下线的源码部分,也就是当注册到Nacos上的服务终止的时候进行的逻辑操作 客户端的相关操作 怎么找到对应的代码块这边我们就不过多表述了,肯定还是主要围绕AbstractAutoServiceRegistration这个自动注册相关的类进行的操作 我们可以看到,在这个类下,有一个@PreDestroy注解标识的销毁方法,该方法内部就是调用了stop...
ZealSinger 发布于 
article cover

Nacos源码学习计划-Day24-Nacos2.x-服务端心跳健康实例检测 技术文档

今天我们的主要内容就是Nacos2.x版本下,服务端的健康检测逻辑。因为Nacos升级后使用了gRPC,导致这个部分逻辑肯定时发生了较大的变化。 注意,这里只是说服务端,即服务都安如何去检测客户端的健康状态,而不是客户端的心跳以及也不是集群中对于每个节点的健康检测。 我们可以来看到ConnectionManager,在这个类的内部有一个Map保存了所有的了所...
ZealSinger 发布于 
article cover

Nacos源码学习计划-Day23-Nacos2.x-服务实例信息变化如何同步到集群节点 技术文档

前面我们了解了Nacos2.X版本下以gRpc为客户端和服务端之间的通讯下,客户端如何注册和查询实例,以及服务端如何处理注册请求,如何将服务变更通知到订阅的客户端,也在这几个过程中加深了对于Nacos2.X版本下内存注册表的结构。 在看Nacos服务端处理服务注册的时候,我们最后是探索到了AbstractClient类下的addServiceInstance...
ZealSinger 发布于 
article cover

Nacos源码学习计划-Day22-Nacos2.x-服务变动如何通知订阅客户端 技术文档

服务变更如何通知订阅服务的客户端 我们在Nacos源码学习计划-Day20-Nacos2.x-服务端处理客户端gRPC注册请求 的最后面有看到,服务端处理gRPC的注册请求的最后,即addPublisherIndexes()的最后一行,可以看到是发布了一个ServiceChangedEvent服务变更的事件 private void addPublisher...
ZealSinger 发布于 
article cover

Nacos源码学习计划-Day21-Nacos2.x-从服务调用链路上来加深对于内存注册表的理解 技术文档

这一章,主要是从服务调用的链路角度,来帮我们对于Nacos2.X版本中的内存注册表结构的理解,在服务调用的链路中,客户端肯定会需要发起从服务端查询对应的服务实例,服务端也会处理这个请求从而查找内存注册表从而进行响应,这个过程中自然就会需要我们去了解内存注册表的结构 客户端服务查询逻辑 这里我们之前其在Nacos1.4.X版本的分析中有说过的,当时我们对于Na...
ZealSinger 发布于 
article cover

Nacos源码学习计划-补档-Nacos服务订阅链路分析纠错 技术文档

对于之前在《Nacos源码学习计划-Day05-服务调用时的调用链路(如何获取服务信息)》一文中,在开始介绍Nacos高版本中通过SCLB来实现客户端实例发现,在一开始做高版本和低版本之间的区别总结,提到如下内容 - 旧版本中,优先查本地缓存,然后再Nacos服务端进行辅助和更新,是以本地缓存为主,Nacos服务端为辅,这个点其实很容易看出来会有实时性的问题...
ZealSinger 发布于 
article cover

Nacos源码学习计划-Day20-Nacos2.x-服务端处理客户端gRPC注册请求 技术文档

Nacos2.x服务端处理gRPC注册请求 上一章节我们分析了Nacos2.X的客户端中是如何利用gRPC发起注册请求的,那么接下来自然就是找服务端这边对于该注册请求的处理。 我们可以看到,最终发出请求的方法doRegisterService,其代码回顾一下如下 public void doRegisterService(String serviceName...
ZealSinger 发布于