最近的一个趋势是Eureca用的少了,都在推荐使用Nacos ,本节我们学习Nacos。
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
官方主页: https://nacos.io/
Nacos 是什么? Nacos 是 注册中心(Service Registry)和 配置中心(Config Center) ,也可以仅作为注册中心使用。
(1) 动态服务发现
(2) 配置管理
Nacos 的动态配置服务可以让您以 中心化
的方式管理配置文件,将配置文件上传到Nacos后服务提供者在启动后自动获得配置文件,使得配置更方便,统一。
(3) 服务管理 Nacos 提供了web 控制台,可等录入 web管理页操作服务的下线等。
整体结构是:命名空间下有多个分组,分组下有多个服务。
结构
命名空间 不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
默认有个 public 空间,我们还可以建立 dev , test 等空间。
配置分组 配置文件可以用一个名字来分组,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。一般就 DEFAULT_GROUP 就够了。
健康检查 Nocos 以指定方式检查服务下挂载的实例 (Instance) 的健康度,从而确认该实例 是否能提供服务。
健康保护阈值是 为了防止因过多实例不健康导致流量全部流向健康实例,造成流量压力把健康实例 压垮并形成雪崩效应,当域名健康实例数 占总服务实例数 的比例小于该值时,无论实例是否健康,都会将这个实例返回给客户端。
前往官网下载 https://github.com/alibaba/nacos/releases
单机模式运行,在 Linux/Unix/Mac 启动命令:
sh startup.sh -m standalone
在 Linux/Unix/Mac下 .关闭服务器
sh shutdown.sh
打开网址 Http://localhost:8848/nacos 默认账户和密码都是 nacos
(1)添加依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>${latest.version}</version>
</dependency>
(2) 修改配置文件 application.properties 中配置 Nacos server 的地址:
nacos.discovery.server-addr=127.0.0.1:8848
将你的配置文件 application.properties 通过web 上传到nacos。文件名格式一般是:{prefix}-{spring.profiles.active}.
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>${latest.version}</version>
</dependency>
在 application.properties 中配置 Nacos server 的地址:
nacos.config.server-addr=127.0.0.1:8848
https://github.com/alibaba/nacos https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html