
Nacos
文章平均质量分 75
nacos详解
qq_41956309
这个作者很懒,什么都没留下…
展开
-
Nacos原理总结
原创 2023-12-13 10:08:08 · 116 阅读 · 0 评论 -
Nacos源码解读08——基于JRaft实现AP模式
详情参考。原创 2023-12-11 15:25:23 · 986 阅读 · 0 评论 -
Nacos源码解读12——Nacos中长连接的实现
就比如在飞机上想上厕所 却发现厕所有人需要等待 但是你又不想在那等 就只能回去等 ,但是过一段时间在去 还有人 在接着回去 这么周而复始的去回。原创 2023-12-10 20:19:45 · 1794 阅读 · 0 评论 -
Nacos源码解读10——配置中心的客户端怎么处理服务端推送的配置信息变更
客户端在启动的时候会构建一个ConfigService的处理类,然后再ConfigService的构造,方法中会创建一个ClientWorker 用来处理对服务端的网络通信及后续变更处理,原创 2023-12-10 17:32:12 · 359 阅读 · 0 评论 -
Nacos源码解读09——配置中心配置信息创建修改怎么处理的
1.当从服务端进行配置的新增和修改会先将数据给持久化到内嵌的数据源或者外部的比如mysql中2.然后发送配置变更的事件会将配置通过GRPC协议同步给连接自己的cleint端 和连接集群中其他节点的客户端。原创 2023-12-10 09:14:12 · 352 阅读 · 0 评论 -
Nacos源码解读11——客户端怎么读取最新的配置信息
1.springboot启动的时候会通过自动注入 将NacosPropertySourceLocator注入到bean容器中 然后会调用到locate方法中进行配置的读取2.配置读取会先判断是否配置了自动刷新 如果没有配置则直接从缓存中读取3.如果配置了自动刷新 会先从本地快照中读取 如果读取到了就返回并加入到本地缓存中。原创 2023-12-10 17:31:33 · 356 阅读 · 0 评论 -
Nacos源码解读07——集群数据同步
Distro 协议是 Nacos 对于临时实例数据开发的⼀致性协议。其数据存储在缓存中,并且会在启动时进行全量数据同步,并定期进行数据校验在 Distro 协议的设计思想下,每个 Distro 节点都可以接收到读写请求。所有的 Distro 协议的请当该节点接收到属于该节点负责的实例的写请求时,直接写入。当该节点接收到不属于该节点负责的实例的写请求时,将在集群内部路由,转发给对应的节点,从而完成读写。当该节点接收到任何读请求时,都直接在本机查询并返回(因为所有实例都被同步到了每台机。原创 2023-12-08 14:08:33 · 615 阅读 · 0 评论 -
Nacos源码解读06——服务健康检查
1.服务端主动探活每3s检测所有超过20s没发生过通讯的客户端,向客户端发起ClientDetectionRequest探测请求,如果客户端在1s内成功响应,则检测通过,否则执行unregister方法移除Connection。2.客户端也会每5s主动探测超过5s空闲的长连接是否存活。当长连接断开,客户端会主动向服务端发起重连。原创 2023-12-04 21:18:27 · 819 阅读 · 0 评论 -
Nacos源码解读08——集群节点间的健康检查
1.当在集群模式的情况下 每个集群节点启动的时候会启动一个定时的线程池去执行心跳任务 第一次延迟五秒执行每一轮频率为2秒 他会去把除了自己节点外的全部其他集群节点查出来然后挨个去发信号,如果成功则设置这个节点是可信任的,如果这个节点失败 则设置成不可信任的 然后会去重试 如果超过了三次重试都是失败 则会把这个节点设置成down2.当集群中有节点下线或者新节点上线都会通过心跳健康检查探测对节点状态进行改变。原创 2023-12-09 10:37:32 · 272 阅读 · 0 评论 -
Nacos源码解读05——Client本地缓存和故障转移
ServiceInfoHolder是服务信息的拥有者 ,比如服务注册,客户端从注册中心拉取服务新的服务信息时都会调用该类的。processServiceInfo方法在前面的文章中出现过多次 他主要是来进行本地化的处理,包括更新缓存服务、发布事件、更新本地文件等操作。转载 2023-12-03 16:53:27 · 944 阅读 · 0 评论 -
Nacos源码解读04——服务发现
项目启动的时候会通过自动注入的机制将NacosDiscoveryClientConfiguration注入当注入NacosDiscoveryClientConfiguration的时候会将DiscoveryClient一起注入BeanDiscoveryClient实现了SpringCloud的DiscoveryClient接口,重点是getInstances和getServices方法,而且都是由NacosServiceDiscovery实现。原创 2023-12-03 11:22:49 · 555 阅读 · 0 评论 -
Nacos源码解读02——服务事件处理
processTasks会遍历所有任务然后执行processor 的process方法因为在PushDelayTaskExecuteEngine构造方法中创建DefaultTaskProcessor是PushDelayTaskExecuteEngine这个类所以会执行PushDelayTaskExecuteEngine的process方法。当有任务需要执行的时候会执行ProcessRunnable 的run方法执行processTasks方法。在连接server时绑定相关事件。往任务线程池中添加任务。原创 2023-12-02 20:48:43 · 220 阅读 · 0 评论 -
Nacos源码解读01——临时实例服务注册
参考 https://zhuanlan.zhihu.com/p/344572647。原创 2023-12-02 17:48:03 · 335 阅读 · 0 评论 -
Nacos源码解读03——管理元数据
【代码】Nacos源码解读03——管理元数据。原创 2023-12-02 19:24:59 · 454 阅读 · 0 评论 -
Nacos源码本地搭建流程及目录结构解读
Dnacos.home=D:\java\alibaba\nacos-2.1.0\8850\ (存储源码路径)当控制台没有报错 访问 http://localhost:8848/nacos 控制台界面登录进来之后显示。然后再vm中配置参数-Dnacos.standalone=true表示单机启动。将nacos-mysql 的sql文件导入数据库中用来记录nacos的一些信息。在根路径下根据该截图中的路径创建cluster.conf文件。然后分别启动三个服务自此启动成功。复制多个端口 设置VM信息。原创 2023-11-28 14:01:58 · 450 阅读 · 0 评论 -
Nacos整合实际应用案例
公司->命名空间->分组->服务命名空间通常用于隔离不同微服务之间的配置分组用于隔离相同微服务下不同环境的配置。原创 2023-11-28 11:35:31 · 114 阅读 · 0 评论 -
Nacos架构
注册中心是服务实例信息的存储仓库,也是服务提供者和服务消费者进行交互的桥梁。它主要提供了服务注册和服务发现这两大核心功能服务提供者把自己注册到注册中心上、服务消费者就可以从注册中心找到该服务提供者的实例信息 从而调用服务提供者的接口获取信息使用微服务就意味着要将单体应用中的业务拆分成一个个的子服务,每个服务的粒度相对较小,因此,系统中将会出现大量的服务。由于每一个服务都需要必要的配置信息才能运行,所以也将会产生大量的配置文件,所以有一套对配置文件进行集中式、动态式的管理的设施就必不可少了。转载 2023-11-27 13:45:18 · 273 阅读 · 0 评论