Spring Cloud Alibaba Nacos#
Introduction#
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。
Architecture#
Nacos Config#
Quickstart#
compile('org.springframework.cloud:spring-cloud-starter-alibaba-nacos-config')
/src/main/resources/bootstrap.properties
NacosController
Nacos Server#
sh startup.sh -m standalone
orcmd startup.cmd
http://localhost:8848/nacos
Username, Password: nacos, nacos
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=spring-cloud-alibaba-dev.properties&group=DEFAULT_GROUP&content=user.id=1%0Auser.name=t5750%0Auser.age=17"
Data Id=spring-cloud-alibaba-dev.properties
Group=DEFAULT_GROUP
user.id=1
user.name=t5750
user.age=17
Validate#
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=spring-cloud-alibaba-dev.properties&group=DEFAULT_GROUP&content=user.id=1%0Auser.name=t5750%0Auser.age=18"
Endpoint#
http://localhost:18083/nacos_config
配置的优先级#
当三种方式共同使用时,优先级关系是: A < B < C
A: 通过
spring.cloud.nacos.config.shared-dataids
支持多个共享 Data Id 的配置B: 通过
spring.cloud.nacos.config.ext-config[n].data-id
的方式支持多个扩展 Data Id 的配置C: 通过内部相关规则(应用名、应用名+ Profile )自动生成相关的 Data Id 配置
Nacos Discovery#
Quickstart#
compile('org.springframework.cloud:spring-cloud-starter-alibaba-nacos-discovery')
application.properties
:spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
@EnableDiscoveryClient
Validate#
http://127.0.0.1:8848/nacos/v1/ns/catalog/instances?serviceName=spring-cloud-alibaba-dev&clusterName=DEFAULT&pageSize=10&pageNo=1&namespaceId=
RestTemplate#
compile('org.springframework.cloud:spring-cloud-starter-alibaba-nacos-discovery')
compile('org.springframework.cloud:spring-cloud-starter-netflix-ribbon')
compile('org.springframework.cloud:spring-cloud-starter-openfeign')
@EnableDiscoveryClient
@EnableFeignClients
CloudAlibabaConsumer
@FeignClient(name = "spring-cloud-alibaba-dev")
EchoService
Endpoint#
http://localhost:18083/nacos_discovery