前言
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是 Spring
Cloud Alibaba 组件之一,负责服务注册发现和服务配置. [服务治理的作用和微服务配置管理]
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速
实现动态服务发现、服务配置、服务元数据及流量管理。
一、服务注册与发现中心
首先在要管理的微服务模块上添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
修改配置文件
# nacos注册中心的配置
spring.cloud.nacos.discovery.server-addr=localhost:8848
spring.application.name=my-product
这样就完成了服务的统一管理
二、配置中心
常见的配置中心
Apollo**------>很多使用apollo**
Apollo是由携程开源的分布式配置中心。特点有很多,比如:配置更新之后可以实时生效,支持灰度发布功能,并且能对所有的配置进行版本管理、操作审计等功能,提供开放平台API。并且资料 也写的很详细。
l Disconf
Disconf是由百度开源的分布式配置中心。它是基于Zookeeper来实现配置变更后实时通知和生效的。
l SpringCloud Config
这是Spring Cloud中带的配置中心组件。它和Spring是无缝集成,使用起来非常方便,并且它的配置存储支持Git<git没学> 。不过它没有可视化的操作界面,配置的生效也不是实时的,需要重启或去刷新。
l Nacos
这是SpingCloud alibaba技术栈中的一个组件,前面我们已经使用它做过服务注册中心。其实它也集成了服务配置的功能,我们可以直接使用它作为服务配置中心。
实现nacos配置注册中心
引入依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
在配置中心建文件要和服务的名字一致
然后新建一个bootstrap.properties配置文件来识别外部配置
#应用名字
spring.application.name=xin-spring-cloud-product
#配置中心
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#额外的配置
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.properties
spring.cloud.nacos.config.extension-configs[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[0].refresh=true
#指定命名空间 开发环境命名空间的id号
spring.cloud.nacos.config.namespace=4d4a61ea-7e78-4d94-a744-2d3a15f67b0b
#指定组名
spring.cloud.nacos.config.group=DEFAULT_GROUP
#配置熔断器
spring.cloud.sentinel.transport.dashboard=localhost:8888
#控制面板修改规则后,可以通过该端口把规则发给微服务
spring.cloud.sentinel.transport.port=8719
需要在各个微服务的模块的控制层上添加
@RefreshScope 来实现外部配置文件刷新之后 微服务也会对应的刷新
额外的配置可以抽取各个微服务的公告部分 比如优化配置、数据源等