zookeeper有选举的功能,选的时候不能保证系统的可用性,满足的CP nacos在自动或手动下线服务,使用消息机制通知客户端,服务实例的修改很快响应;Eureka只能通过任务定时剔除无效的服务。 对于Nacos配置管理,通过Namespace(命名空间)、group、 Data ID能够定位到一个配置集。 Namespace: 代表不同环境,如开发、测试、生产环境。 可以通过代码对配置进行获取 //初始化配置服务, String serverAddr = "127.0.0.1:8848"; String namespace = "ee247dde-d838- 425c-b371-029dab26232f"; //开发环境 //默认组 String dataId = "nacos-simple-demo.yaml"; Properties properties = new Properties(); 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 # 配置文件数据ID name: 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.0 description: Nacos Demo Service # 数据库配置 datasource: # 数据库URL url: 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进行交互,实现动态配置和服务注册与发现的功能。 此外,这个配置文件中还包含了其他一些配置,比如数据库配置,用于指定应用程序所使用的数据库信息。 (责任编辑:) |