Nacos 2.x
文章平均质量分 89
Nacos 是目前应用十分广泛的一个微服务组件,提供了简单易用的动态服务发现、服务配置、服务共享与管理等核心功能。本系列基于 2.x 版本,详细讲述 Nacos 的各种知识和使用技巧。
云烟成雨TD
一个追求有道有术的非典型程序员
展开
-
Nacos 2.x 系列【1】简介
Nacos是Dynamic Naming and Configuration Service的首字母简称,读音为/nɑ:kəʊs/,从名字也可看出它的两大核心功能,即服务发现、配置管理。Nacos可以帮助您更敏捷和容易地构建、交付和管理微服务平台,是构建以服务为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。原创 2024-05-21 09:31:19 · 694 阅读 · 0 评论 -
Nacos 2.x 系列【2】单机部署
Nacos支持Linux/Unix/Mac/Windows操作系统环境,推荐选用Linux/Unix/Mac,当然本地开发时,一般都是Windows系统。Nacos依赖Java环境运行,所有需要安装JDK 1.8或更高版本。Nacos目前最新的稳定版本为2.2.3,2.x版本基本兼容1.x,但是老版本肯定会停止维护,所以推荐使用2.x版本。原创 2024-05-21 09:32:12 · 1059 阅读 · 0 评论 -
Nacos 2.x 系列【3】服务注册
多个服务之间进行远程调用时,起码需要知道对方的IP及端口地址,而这些网络信息是非常容易变动的。服务提供方在启动时,可以将自己的服务信息注册到注册中心,服务消费者消费时,在注册中心根据服务名查询提供方的网络信息,然后再调用服务。原创 2024-05-22 09:29:19 · 954 阅读 · 0 评论 -
Nacos 2.x 系列【4】服务发现
服务发现是指在计算机网络上,(通常使用服务名)对服务下的实例的地址和元数据进行探测,并以预先定义的接口提供给客户端进行查询。原创 2024-05-22 09:30:11 · 1048 阅读 · 0 评论 -
Nacos 2.x 系列【5】开启鉴权
在之前的案例中部署好Nacos服务端后,默认没有开启鉴权,直接不用登录就能访问控制台,也能直接注册服务,存在很大的安全风险。原创 2024-05-23 09:23:24 · 1727 阅读 · 0 评论 -
Nacos 2.x 系列【6】持久化
Nacos中的用户、租户、服务配置等信息,需要使用关系型数据库进行存储,在实际开发中,可能还会面临各种数据库适配问题。原创 2024-05-23 09:24:01 · 976 阅读 · 0 评论 -
Nacos 2.x 系列【7】命名空间
Namespace(命名空间)用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的配置或服务,他们是完全隔离的。如果在没有指定Namespace的情况下,默认使用 public 命名空间。常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境使用同一个Nacos时,可以使用命名空间进行隔离。原创 2024-05-24 09:29:32 · 692 阅读 · 0 评论 -
Nacos 2.x 系列【8】集成 Spring Cloud Gateway
Spring Cloud Gateway是基于Spring生态系统之上构建的API网关,包括Spring 6、Spring Boot 3和Project Reactor。是Netflix Zuul的替代方案,不仅提供统一的路由方式,还提供安全、指标度量、限流等方面的功能。 依托于Spring Cloud生态,Spring Cloud Gateway已经成为微服务架构中最流行的API网关。原创 2024-05-24 09:37:30 · 1099 阅读 · 0 评论 -
Nacos 2.x 系列【9】配置中心
配置中心就是一个集中式管理配置信息的解决方案,它最核心的功能就是配置管理,可以进行配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等与配置相关的活动。原创 2024-05-27 09:19:35 · 1075 阅读 · 0 评论 -
Nacos 2.x 系列【10】配置管理
Nacos支持基于Namespace和Group的配置分组管理,以便用户更灵活的根据自己的需要按照环境或者应用、模块等分组管理微服务以及Spring的大量配置,在配置管理中主要提供了配置历史版本、回滚、订阅者查询等核心管理能力。原创 2024-05-27 09:32:14 · 1215 阅读 · 0 评论 -
Nacos 2.x 系列【11】源码启动服务端
在consistency模块中,有两个.proto文件(其他模块也有),Protobuf是一种数据交换格式,又称PB编码,由Google开源,所以这里需要安装Protobuf插件进行编译文件,不然会提示模块缺少entity包下的类。原创 2024-05-28 11:34:23 · 826 阅读 · 0 评论 -
Nacos 2.x 系列【12】配置加密插件
为保证用户敏感配置数据的安全,Nacos提供了配置加密的新特性。降低了用户使用的风险,也不需要再对配置进行单独的加密处理。原创 2024-05-28 13:59:02 · 1394 阅读 · 0 评论 -
Nacos 2.x 系列【13】服务权重管理
Nacos服务管理模块,提供了服务权重管理功能,用于给服务实例设置权重,权重越高,被分配的流量越大,即基于权重的负载均衡。原创 2024-05-29 14:42:57 · 1228 阅读 · 0 评论 -
Nacos 2.x 系列【14】临时实例、永久实例
Nacos 提供了两种服务类型供用户注册实例时选择:临时实例:只是临时存在于注册中心中,会在服务下线或不可用时被注册中心剔除,临时实例会与注册中心保持心跳,注册中心会在⼀段时间没有收到来自客户端的心跳后会将实例设置为不健康,然后在⼀段时间后进行剔除。永久实例:在被删除之前会永久的存在于注册中心,且有可能并不知道注册中心存在,不会主动向注册中心上报心跳,需要注册中心主动进行探活。原创 2024-06-20 09:12:10 · 662 阅读 · 0 评论 -
Nacos 2.x 系列【15】数据源插件支持达梦、Oracel、PostgreSQL......
在 Nacos 2.2 之前的版本中,所有的 SQL 操作的执行是通过直接使用 JdbcTemplate 执行固定 SQL 语句的形式,使得 SQL 语句与业务逻辑高度耦合,并且只支持 Derby 与 MySQL 两种数据源。原创 2024-06-20 12:07:44 · 1578 阅读 · 0 评论 -
Nacos 2.x 系列【16】注册中心健康检查机制
注册中心不应该仅仅提供服务注册和发现功能,还应该保证对服务可用性进行监测,对不健康的服务和过期的进行标识或剔除,维护实例的生命周期,以保证客户端尽可能的查询到可用的服务列表。原创 2024-06-21 09:48:49 · 740 阅读 · 0 评论 -
Nacos 2.x 系列【17】健康保护阈值
Nacos 支持通过配置健康保护阈值(ProtectThreshold)防止因过多实例故障,导致所有流量全部流入剩余实例,继而造成流量压力将剩余实例被压垮形成的雪崩效应。健康保护阈值定义为⼀个 0 到 1之间的浮点数。当域名健康实例数占总服务实例数的比例小于该值时,无论实例是否健康,都会将这个实例返回给客户端。这样做虽然损失了⼀部分流量,但是保证了集群中剩余健康实例能正常工作。原创 2024-06-21 10:10:28 · 633 阅读 · 0 评论 -
Nacos 2.x 系列【18】多网卡 IP 配置
个人电脑或者服务器,存在多网卡环境时,Nacos 可能会存在IP不正确问题。原创 2024-07-02 14:58:50 · 692 阅读 · 0 评论 -
Nacos 2.x 系列【19】元数据管理
Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签 (label),从作用范围来看,分为服务级别的元信息、集群的元信息及实例的元信息。从Nacos元数据管理:提供元数据CURD和打标能力CMDB:解决元数据存储,与三方cmdb系统对接问题,解决应用,人,资源关系。原创 2024-07-02 14:59:46 · 1223 阅读 · 0 评论 -
Nacos 2.x 系列【20】集群部署
实际生产环境中,必须保证 Nacos 高可用,所以需要使用集群模式部署。原创 2024-07-05 15:09:55 · 1380 阅读 · 0 评论 -
Nacos系列【26】源码分析篇之客户端自动注册
紧接上篇,接下来分析下客户端自动注册的流程。原创 2022-08-30 14:43:36 · 1220 阅读 · 0 评论 -
Nacos系列【25】源码分析篇之Spring Cloud启动器
源碼地址是一个基于开发的Nacos服务注册启动器。源码结构如下。原创 2022-08-29 16:58:49 · 2527 阅读 · 0 评论 -
Nacos系列【24】集成Nacos 2.x配置中心及动态刷新配置
在很早之前我们使用搭建了配置中心,自从发布2.0版本以来,以及持续发布,升级到Nacos2.x发现了一些升级需要注意的问题,所以写这篇文档闭坑,顺便讲解下如何实现动态刷新配置。原创 2022-08-16 14:23:08 · 5479 阅读 · 1 评论 -
Nacos系列【23】Nacos2.x服务发现模块之注册中心健康检查机制
有道无术,术尚可求,有术无道,止于术。资料整理来自Nacos架构与原理电子书,下载地址:https://developer.aliyun.com/ebook/36?spm=a2c6h.20345107.ebook-index.18.152c2984fsi5ST文章目录健康检查机制注册中心的健康检查机制Nacos 健康检查机制临时实例健康检查机制永久实例健康检查机制集群模式下的健康检查机制小结健康检查机制在上文中,我们介绍了 Nacos 注册中心中的服务数据模型,说明了服务、实例以及集群的内容, .转载 2022-05-27 18:20:45 · 1690 阅读 · 1 评论 -
Nacos系列【22】Nacos2.x服务发现模块之注册中心数据模型
有道无术,术尚可求,有术无道,止于术。资料整理来自Nacos架构与原理电子书,下载地址:https://developer.aliyun.com/ebook/36?spm=a2c6h.20345107.ebook-index.18.152c2984fsi5ST文章目录Nacos 注册中心服务数据模型服务(Service)和服务实例(Instance)定义服务服务元数据定义实例实例元数据持久化属性集群(Cluster)定义集群生命周期服务的⽣命周期实例的⽣命周期集群的⽣命周期元数据的⽣命周期小结Na.转载 2022-05-27 18:00:47 · 589 阅读 · 0 评论 -
Nacos系列【21】Nacos2.x服务发现模块之注册中心设计原理
有道无术,术尚可求,有术无道,止于术。资料整理来自Nacos架构与原理电子书,下载地址:https://developer.aliyun.com/ebook/36?spm=a2c6h.20345107.ebook-index.18.152c2984fsi5ST文章目录前言数据模型数据⼀致性负载均衡健康检查性能与容量易用性集群扩展性用户扩展性尾声前言服务发现是⼀个古老的话题,当应用开始脱离单机运行和访问时,服务发现就诞生了。目前的网络 架构是每个主机都有⼀个独立的 IP 地址,那么服务发现基本上都.转载 2022-05-27 17:38:31 · 777 阅读 · 0 评论 -
Nacos系列【20】Nacos2.x内核设计之寻址机制
有道无术,术尚可求,有术无道,止于术。资料整理来自Nacos架构与原理电子书下载地址:https://developer.aliyun.com/ebook/36?spm=a2c6h.20345107.ebook-index.18.152c2984fsi5ST文章目录前提设计内部实现单机寻址文件寻址地址服务器寻址未来可扩展点集群节点自动扩缩容前提Nacos 支持单机部署以及集群部署,针对单机模式,Nacos 只是自己和自己通信;对于集群模式, 则集群内的每个 Nacos 成员都需要相互通信。因此.转载 2022-05-27 17:20:34 · 330 阅读 · 0 评论 -
Nacos系列【19】Nacos2.x内核设计之通信通道
有道无术,术尚可求,有术无道,止于术。资料整理来自Nacos架构与原理电子书下载地址:https://developer.aliyun.com/ebook/36?spm=a2c6h.20345107.ebook-index.18.152c2984fsi5ST文章目录Nacos通信通道Nacos 长链接⼀、现状背景二、场景分析三、长链接核心诉求四、长链接选型对比五、基于长链接的⼀致性模型六、核心模型组件设计Nacos通信通道Nacos 长链接⼀、现状背景Nacos 1.x 版本 Config.转载 2022-05-27 16:59:49 · 1008 阅读 · 0 评论 -
Nacos系列【18】Nacos2.x内核设计之⼀致性协议
有道无术,术尚可求,有术无道,止于术。资料整理来自Nacos架构与原理电子书,下载地址:https://developer.aliyun.com/ebook/36?spm=a2c6h.20345107.ebook-index.18.152c2984fsi5ST文章目录Nacos ⼀致性协议为什么 Nacos 需要⼀致性协议为什么 Nacos 选择了 Raft 以及 Distro从服务注册发现来看从配置管理来看为什么是 Raft 和 Distro 呢早期的 Nacos ⼀致性协议当前 Nacos 的⼀.转载 2022-05-27 16:21:41 · 373 阅读 · 0 评论 -
Nacos系列【17】Nacos2.x之总体设计
有道无术,术尚可求,有术无道,止于术。资料整理来自Nacos架构与原理电子书,下载地址:https://developer.aliyun.com/ebook/36?spm=a2c6h.20345107.ebook-index.18.152c2984fsi5ST文章目录Nacos 总体设计Nacos 架构设计原则架构图用户层业务层内核层插件Nacos 配置模型背景概念介绍配置(Configuration)配置管理 (Configuration Management)配置服务 (Configuratio.转载 2022-05-27 14:07:43 · 429 阅读 · 0 评论 -
Nacos系列(14)-Nacos2.0正式发布,性能提升10倍
继 Nacos 1.0 发布以来,Nacos 迅速被成千上万家企业采用,并构建起强大的生态。但是随着用户深入使用,逐渐暴露一些性能问题,因此我们启动了 Nacos 2.0 的隔代产品设计,时隔半年我们终于将其全部实现,实测性能提升 10 倍,相信能满足所有用户的性能需求。Nacos 简介Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它孵化于阿里巴巴,成长于十年双十一的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。Nacos 2.0 架构全新 2.0 架构转载 2021-03-30 11:09:55 · 2688 阅读 · 4 评论 -
Nacos系列(13)-Docker&Docker Compose安装Nacos1.3.2,配置数据库连接
环境准备Centos7虚拟机一台安装docker及docker composeMysql中同步nacos数据结构(之前文档有具体操作步骤)DockerDocker Compose原创 2020-09-08 10:41:56 · 1654 阅读 · 1 评论 -
Nacos系列(12)-Nacos1.3.2注册中心nacos.discovery配置参数详解
前言注释掉的配置项,一般不需要设置,默认即可,特殊情况下可自定义详解spring: application: name: pearl-test cloud: nacos: discovery: # 是否开启Nacos注册 enabled: true # Nacos服务注册地址 server-addr: localhost:8848 # Nacos 认证用户 usernam原创 2020-09-07 12:34:07 · 7335 阅读 · 1 评论 -
Nacos系列(11)-Nacos1.3.2配置中心nacos.config客户端参数详解
spring: profiles: # 对应环境 active: dev application: # 服务名 name: pearl-test cloud: nacos: config: # 是否开启配置中心 默认true enabled: true # 配置中心地址 server-addr: localhost:8848 # 当要上阿里云时,阿里云上面的一个云账原创 2020-09-06 17:18:28 · 3505 阅读 · 8 评论 -
Nacos系列(10)-Nacos开启shared-configs配置共享,读取多个配置
前言在实际项目中,每个子模块中,spring有许多相同配置项,比如Redis,Mysql等等,这些公用配置信息,可以放在同一个配置文件中,方便管理及修改步骤pom添加Redis,把连接信息配置在共享配置中<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId原创 2020-09-06 17:16:06 · 48484 阅读 · 7 评论 -
Nacos系列(9)-Nacos注册及配置中心开启权限认证
前言在之前搭建的项目中,Nacos注册服务时,没有开启权限认证,实际上线后,如果别人知道了Nacos地址,随便注册一个相同服务名的实例,则会导致大问题出现,所以开启权限认证及配置规范很重要。优化配置新建项目命名空间,不要使用默认public修改bootstrap.properties为bootstrap.yml,更加简洁在配置的命名空间下重新添加配置,舍弃各个dev等环境,1是文件太多,2是暴露个各个环境的配置也不安全,此配置只保留本项目需要的spring及自定义配置,其他可共享配置原创 2020-09-06 16:07:55 · 16243 阅读 · 14 评论 -
Nacos系列(8)-Nacos1.3.2集成Spring Cloud多环境配置中心
前言在实际项目开发=》测试=》上线中,服务配置文件是不可或缺的一部分,一般需要配置数据库等各个组件的配置信息,项目上线后,各个环境配置都不一样,Nacos提供了多环境下,读取不同配置文件的功能。本次环境:- Nacos 1.3.2- spring boot 2.3.2.RELEASE- spring cloud Hoxton.SR7- cloud alibaba 2.2.1.RELEASE操作步骤参考此系列其他文档搭建Nacos注册中心及配置中心,在Nacos介面添加三个配置文件,分别原创 2020-09-02 22:50:13 · 820 阅读 · 0 评论 -
Nacos系列(7)-Nacos1.3.2集群搭建及配置负载均衡
序言在实际生产环境中,必须保证Nacos高可用,否则一旦Nacos宕机,整个平台都会无法运行。在此方案中部署三个节点Nacos,服务注册通过Nginx负载均衡环境准备下载Nacos:https://github.com/alibaba/nacos下载Nginx: http://nginx.org/en/download.html准备两台Centos7.6虚拟机,设置IP使彼此互通,关闭防火墙,安装JAVA1.8 环境,其中一个解点我在装在Window上,这样实际部署时都可以参考搭建Nac原创 2020-08-31 22:47:54 · 2628 阅读 · 1 评论 -
Nacos系列(5)-Spring Cloud使用Nacos搭建配置中心1
前言在微服务系统中,项目众多,会有很多配置项,包含项目配置文件,例如application.yml,还会有其他容易变动的动态配置项,比如配置一个消费额度。所以需要一个集中式管理配置信息的解决方案。在Spring Cloud系列框架中,Spring Cloud Config能够实现微服务的配置集中管理,但是实际并不好用。Nacos的出现,能够轻松实现微服务配置中心功能。实现读取自定义配置参考Nacos系列(3)搭建微服务工程,在pom中添加配置中心依赖<dependency>原创 2020-08-27 21:38:25 · 755 阅读 · 4 评论 -
Nacos系列(4)-Nacos各种日志太多问题的终极解决办法
序言在生产环境中,发现经常性硬盘经常爆满,经排查后发现是nacos各种日志生成太多,删掉会还是增长太快,配置后,还是发现会有其他类型日志产生,经过一番梳理后,整理成文档,希望对使用nacos的童鞋有所帮助,(Nacos版本1.3.2)服务端日志access日志大量打印,这个日志是Spring Boot提供的tomcat访问日志打印,Spring Boot在关于该日志的选项中,没有最大保留天数或者日志大小控制的选项。因此这个日志的清理必须由应用新建crontab任务来完成,或者通过以下命令关闭日志的输原创 2020-08-15 20:15:01 · 35354 阅读 · 10 评论