nacos
文章平均质量分 76
龚厂长
这个作者很懒,什么都没留下…
展开
-
nacos解析-详解服务端保存服务数据以及健康检查原理
本文基于nacos-2.0.3版本注册服务时,nacos服务端调用InstanceController.register()方法完成注册。InstanceController.register()再调用InstanceOperatorClientImpl.registerInstance()注册服务,下面是registerInstance()方法代码: public void registerInstance(String namespaceId, String serviceName, I.原创 2021-08-29 22:32:38 · 1288 阅读 · 0 评论 -
nacos解析-基于spring cloud的服务注册原理
前面文章介绍了nacos的配置管理,从本文开始介绍nacos的服务注册与发现。通过上面网页的介绍,可以知道,nacos的服务注册最关键的是注解@EnableDiscoveryClient,本文接下来以该注解为起点,介绍服务注册原理。原创 2021-08-29 16:08:40 · 658 阅读 · 0 评论 -
nacos解析-使用Open API管理配置
nacos提供了功能丰富的Open API,使得我们可以使用http协议访问服务端,并管理服务端的配置数据。具体的功能可以参考下面网页:> https://nacos.io/zh-cn/docs/open-api.html下面代码借助nacos的工具类,使用Open API提供了配置的增删改查功能。原创 2021-08-25 23:00:53 · 3213 阅读 · 0 评论 -
nacos解析-是否可以配置多个@NacosPropertySource
本文基于nacos-2.0.3版本nacos中,每一个@NacosPropertySource都被解析为一个PropertySource对象,并且将该对象添加到Environment的propertySources集合中,这个集合是List对象,默认每新增一个PropertySource对象,都会将其添加到集合的末尾,我们可以通过NacosPropertySource中的first、before等属性设置它们的顺序。所有的@NacosPropertySource解析完毕后,下面开始解析@NacosV.原创 2021-08-20 22:23:16 · 5479 阅读 · 0 评论 -
nacos解析-详解配置自动刷新原理
本文基于nacos-2.0.3版本当客户端设置autoRefreshed = true时,比如:@NacosValue(value = "${XXX:XX}", autoRefreshed = true)或者@NacosPropertySource(dataId = "XXX", autoRefreshed = true)服务端配置值发生变化,客户端的属性值也会跟着发生变化。这是如何做到的?本文将介绍其背后的原理。在自动刷新中,ClientWorker类起着非常关键的作用,其作用如下:.原创 2021-08-18 22:31:21 · 10092 阅读 · 0 评论 -
nacos解析-raft算法日志复制原理
本文基于nacos-2.0.3版本nacos在集群模式下,使用内置数据库时,当发布新的配置或者更新配置时,nacos使用raft算法将配置分发给集群中的其他机器。本文将详细分析分发原理。首先说明如何使nacos在集群模式使用内置数据库:虚拟机启动参数配置为:-Dnacos.standalone=false-DembeddedStorage=true...原创 2021-08-16 21:39:47 · 1661 阅读 · 0 评论 -
nacos解析-解密服务端保存配置数据原理
本文基于nacos-2.0.3版本本文分析nacos服务端保存配置数据的原理。通过上一篇文章《nacos解析-客户端是如何拉取配置信息的》我们知道了客户端通过http协议将请求发送到服务端,链接的URL为:http://127.0.0.1:8848/nacos/v1/cs/configs通过URL的path我们很容易在服务端找到处理该请求的类:ConfigController。该类位于config模块下,通过名字就可以知道该模块用于配置管理。ConfigController提供了对配置的增.原创 2021-08-12 10:06:50 · 885 阅读 · 0 评论 -
nacos解析-客户端是如何拉取配置信息的
nacos服务端源码是使用spring boot编写的,初看源码,完全找不到头绪,不知道从哪看起。于是我改变了思路,从客户端开始看,然后从客户端调用的服务逐步深入到服务端。那么本文就来介绍一下客户端是如何从服务端拉取配置。文章目录一、注解@EnableNacosConfig1、找到服务器地址信息2、创建ConfigService对象3、创建与服务器的连接一、注解@EnableNacosConfig要想使用nacos,客户端必须配置注解@EnableNacosConfig。一般的使用EnableNac原创 2021-08-07 18:05:57 · 2858 阅读 · 0 评论 -
Nacos解析-本地运行源码
本文是解析nacos的第一篇文章,使用的是nacos-2.0.3版本。github地址:https://github.com/alibaba/nacos.git。要分析源码,首先需要在本地运行源码。下载完成后,nacos是无法直接运行的,需要对源码做一些改动。下面介绍我对nacos所做的改动。文章目录一、解决编译报错1、下载protoc2、生成缺失代码二、设置启动参数三、启动一、解决编译报错代码下载后,idea会报错,提示缺少com.alibaba.nacos.consistency.entity包原创 2021-08-07 12:11:02 · 1392 阅读 · 0 评论