介绍
zookeeper有选举的功能,选的时候不能保证系统的可用性,满足的CP
Eurka遵守的是AP,peer to peer,去中心化,相互注册
nacos在自动或手动下线服务,使用消息机制通知客户端,服务实例的修改很快响应;Eureka只能通过任务定时剔除无效的服务。
nacos可以根据namespace命名空间,DataId,Group分组,来区分不同环境(dev,test,prod),不同项目的配置。
对于Nacos配置管理,通过Namespace(命名空间)、group、 Data ID能够定位到一个配置集。
Namespace: 代表不同环境,如开发、测试、生产环境。
Group: 代表某项目,如XX医疗项目、XX电商项目
Data ld: 每个项目下往往有若干个工程,每个配置集(Datald)是一个工程的主配置文件
可以通过代码对配置进行获取
//初始化配置服务,String serverAddr ="127.0.0.1:8848";String namespace ="ee247dde-d838- 425c-b371-029dab26232f";//开发环境//默认组String dataId ="nacos-simple-demo.yaml";Properties properties =newProperties();
properties.put("serverAddr", serverAddr);
properties.put("namespace", namespace);ConfigService configService =NacosFactory.createConfigService(properties);//获取配置,并输出控制台String content = configService.getConfig(dataId,group,5000);System.out.println( content);
Nacos配置文件示例
# 服务配置server:# Nacos服务端口号port:8848# Spring Boot应用配置spring:# 应用名称application:name: nacos-demo
# 配置中心相关配置cloud:nacos:# 配置中心配置config:# Nacos服务器地址server-addr: localhost:8848# 配置文件所属命名空间namespace: 4d4d48a4-2254-4ed4-8d33-43e87c30a617
# 配置文件数据IDname: nacos-demo.properties
# 配置文件类型,可选值为"properties"和"yaml"type: properties
# 服务注册与发现配置discovery:# Nacos服务器地址server-addr: localhost:8848# 服务名称,即在Nacos上注册的服务名service: nacos-demo-service
# 服务的IP地址ip: 127.0.0.1
# 服务的端口号port:8080# 健康检查的URL,即客户端通过该URL来检查服务的健康状态health-check-url: /actuator/health
# 服务实例的元数据,可以在Nacos控制台上进行查看metadata:version:1.0description: Nacos Demo Service
# 数据库配置datasource:# 数据库URLurl: jdbc:mysql://localhost:3306/nacos_demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC# 数据库用户名username: root
# 数据库密码password:123456# 数据库驱动类名driver-class-name: com.mysql.cj.jdbc.Driver
解读:
server.port: 8848:指定Nacos服务的端口号为8848。
spring.application.name: nacos-demo:指定应用名称为nacos-demo。
spring.cloud.nacos.config.server-addr: localhost:8848:指定Nacos Config的服务地址为localhost:8848。
spring.cloud.nacos.config.namespace: 4d4d48a4-2254-4ed4-8d33-43e87c30a617:指定配置文件所属的命名空间为4d4d48a4-2254-4ed4-8d33-43e87c30a617。
spring.cloud.nacos.config.name: nacos-demo.properties:指定配置文件的数据ID为nacos-demo.properties。
spring.cloud.nacos.config.type: properties:指定配置文件类型为properties。
spring.cloud.nacos.discovery.server-addr: localhost:8848:指定Nacos Discovery的服务地址为localhost:8848。
spring.cloud.nacos.discovery.service: nacos-demo-service:指定服务名称为nacos-demo-service。
`spring.cloud.nacos.discovery.ip: 127.
spring.cloud.nacos.discovery.port: 8080:指定服务的端口号为8080。
spring.cloud.nacos.discovery.health-check-url: /actuator/health:指定健康检查的URL为/actuator/health。
spring.cloud.nacos.discovery.metadata:指定服务实例的元数据。这里指定了版本和描述信息。
datasource.url:指定数据库的URL。
datasource.username:指定数据库的用户名。
datasource.password:指定数据库的密码。
datasource.driver-class-name:指定数据库的驱动类名。
在这个配置文件中,spring.cloud.nacos.config和spring.cloud.nacos.discovery分别表示Nacos的配置中心和服务注册与发现功能的配置。通过这些配置,应用程序可以与Nacos进行交互,实现动态配置和服务注册与发现的功能。
此外,这个配置文件中还包含了其他一些配置,比如数据库配置,用于指定应用程序所使用的数据库信息。
版权归原作者 小汤汤汤汤 所有, 如有侵权,请联系我们删除。