nacos配置中心与服务注册中心


前言

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 来实现外部配置文件刷新之后 微服务也会对应的刷新

 额外的配置可以抽取各个微服务的公告部分 比如优化配置、数据源等


总结

猜你喜欢

转载自blog.csdn.net/qq_55648724/article/details/129088811