![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Nacos
文章平均质量分 83
Nacos基本使用以及原理分析
瓜瓜醒
死了都要try
展开
-
1.Nacos初步认识以及基本使用
Nacos是什么Nacos提供了统一配置管理、服务发现与注册。 其中服务注册和发现的功能,相当于dubbo里面使用到 的zookeeper、 或者spring cloud里面应用到的consoul以及eureka。Nacos官网Nacos的特性服务发现和服务健康监测Nacos提供了基于RPC的服务发现,服务提供者可以将自身的服务通过原生API或者openApi来实现服务 的注册,服务消费者可以使用API或者Http来查找和发现服务;同时,Nacos提供了对服务的实时监控检查,当发现服务不可用时,原创 2021-01-29 18:17:23 · 1083 阅读 · 0 评论 -
Nacos中namespace,groupId,dataId使用
Nacos中的Namespace,GroupId,DataId如何划分Namespace不同项目需要隔离,这种隔离可以采用软隔离;即可以运行在同一设备上,通过某个字段来区分;namespace 隔离设计namespace 的设计是 nacos 基于此做多环境以及多租户(多个用户共同使用nacos)数据(配置和服务)隔离的。从一个租户(用户)的角度来看,如果有多套不同的环境,那么这个时候可以根据指定的环境来创建不同的 namespce,以此来实现多环境的隔离。例如,你可能有开发,测试和生产三原创 2021-02-02 16:43:04 · 6121 阅读 · 0 评论 -
Spring Cloud Eureka项目切换注册中心到Nacos
Spring Cloud 项目平滑将注册中心迁移到Nacos上1.问题概述由于项目升级,需要将Eureka注册中心改为阿里的Nacos作为注册中心项目环境1、Java 使用的 JDK-1.82、Spring Boot 使用的 Spring Boot-2.1.4.RELEASE3、Spring Cloud 使用的是 Greenwich.RELEASE2.方案设计2.1 业务应用多注册到Nacos和EurekaSpring Cloud应用默认不支持启动时双向注册,但是阿里商业版上云edas原创 2021-02-02 16:42:27 · 2080 阅读 · 3 评论 -
Nacos服务端配置数据Mqsql存储
Nacos服务端配置数据Mqsql存储客户端获得配置中心的流程分析结束之后,还有一个疑惑是,nacos server上如何存储配置呢?在standalone模式下,Nacos默认使用derby数据库来存储配置信息。在Nacos_PATH/data目录,有一个derby-data的文件, Derby是Java编写的数据库,是Apache的开源项目,默认的所有配置就是存在derby这个数据库中。Nacos还可以支持mysql的存储,如果想要修改,可以按照以下步骤执行只有集群模式下才能用mysql创原创 2021-02-02 16:39:18 · 1222 阅读 · 1 评论 -
nacos搭建集群
Nacos搭建集群环境准备准备三台机器192.168.159.129192.168.159.130192.168.159.131下载编译好的包https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-server-1.3.2.tar.gz配置数据源需要注意的是,Nacos默认采用的是一个derby的内置数据库,在实际过程中,不建议使用这种数据 源。建议采用高可用数据库,比如我们使用mysql构建主从。那我们可以使用m原创 2021-02-02 16:37:21 · 233 阅读 · 0 评论 -
4.Nacos一致性协议Raft心跳包发送
Nacos源码分析之发送心跳包源码分析在RaftCore的init()方法中注册了一个每500ms执行一次的心跳任务@PostConstruct public void init() throws Exception { ...... //开启定时任务,每个500ms发起一次心跳 GlobalExecutor.registerHeartbeat(new HeartBeat()); Loggers.RAF原创 2021-02-02 16:35:18 · 518 阅读 · 0 评论 -
3.Nacos一致性协议Raft
Nacos一致性协议分布式一致性协议有很多,例如Paxos协议,Zab协议,Raft协议,而Nacos采用的是Distro协议和Raft协议。对于非临时数据,Nacos采用的是Raft协议,而临时数据Nacos采用的是Distro协议。简单说一下Distro,Distro协议被定位为临时数据的一致性协议:该类型协议不需要把数据存储到磁盘或者数据库,因为临时数据通常和服务器保持一个session会话,该会话只要存在,数据就不会丢失。本篇文章主要针对于CP的Raft算法。Raft一致性协议Nacos支持集原创 2021-02-02 16:34:19 · 3771 阅读 · 0 评论 -
3.Nacos配置中心动态更新服务端处理源码
Nacos配置中心服务端处理源码服务端收到客户端的配置变更请求查询的长轮训请求之后,服务端怎么来处理这个长轮训呢?上文中讲到了配置更新的整个原理及源码,我们知道客户端会有一个长轮训的任务去检查服务器端的配置是否发生了变化,如果发生了变更,那么客户端会拿到变更的 groupKey 再根据 groupKey 去获取配置项的最新值更新到本地的缓存以及文件中,那么这种每次都靠客户端去请求,那请求的时间间隔设置多少合适呢?如果间隔时间设置的太长的话有可能无法及时获取服务端的变更,如果间隔时间设置的太短的话,那么原创 2021-02-02 16:13:53 · 1046 阅读 · 0 评论 -
2.Nacos配置中心动态更新客户端源码
Alibaba Nacos配置中心客户端的源码分析SDK方式读取和保存配置Nacos提供了两种方式,一种是原生的SDK,另一种是open api.sdk的文档,请点击这里引入依赖包<dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>1.1.1</versio原创 2021-02-02 16:06:48 · 713 阅读 · 0 评论 -
1.Nacos配置中心第一次启动加载配置源码
Nacos配置中心启动加载配置源码Environment负责管理spring的运行相关的配置信息,其中就包含application.properties。而在Spring Cloud中,如果集成Nacos作为配置中心的话,那么意味着这部分配置是属于远程配置,也会作为配置源保存到Environment中,这样我们才能通过@value注解来注入配置中的属性。在Config的源码中,我们知道Environment中所有外部化配置,针对不同类型的配置都会有与之对应的PropertySource,比如(Sys原创 2021-02-02 16:03:33 · 1945 阅读 · 1 评论 -
2.Nacos 服务注册的原理
https://www.freesion.com/article/4805581672/Nacos服务注册需要具备的能力服务提供者把自己的协议地址注册到Nacos server服务消费者需要从Nacos Server上去查询服务提供者的地址(根据服务名称)Nacos Server需要感知到服务提供者的上下线的变化服务消费者需要动态感知到Nacos Server端服务地址的变化Nacos APISDK(底层也是基于open Api调用) / OPEN API(Rest 接口)官网服务注册原创 2021-01-29 18:19:58 · 2104 阅读 · 0 评论