服务注册:
Spring Cloud相关基础服务组件 :
服务发现——Netflix Eureka (Nacos)
服务调用——Netflix Feign
熔断器——Netflix Hystrix
服务网关——Spring Cloud GateWay
分布式配置——Spring Cloud Config (Nacos)
消息总线 —— Spring Cloud Bus (Nacos)
下载和启动:
下载地址:https://github.com/alibaba/nacos/releases
启动nacos服务
(1) Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式)
启动命令:sh startup.sh -m standalone
(2)Windows
启动方式,cmd打开,执行命令: startup.cmd -m standalone。
访问:http://localhost:8848/nacos
用户名密码:nacos/nacos
配置Nacos
pom引入依赖
<!-- 服务注册 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- 服务调用feign --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
application.properties文件添加配置:
# nacos服务地址 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
在service_vod微服务启动类中添加注解 @EnableDiscoveryClient
配置中心:
引入依赖:
<!--nacos-config--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
创建yml配置文件:
bootstrap.yml: 项目加载前加载
# nacos配置 server: port: 3377 spring: application: name: nacos-config-client cloud: nacos: discovery: server-addr: localhost:8848 #Nacos服务注册中心地址 config: server-addr: localhost:8848 #Nacos作为配置中心地址 file-extension: yaml #指定yaml格式的配置 # ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
application.yml:
spring: profiles: active: dev # 表示开发环境
在控制器controller类加入@RefreshScope注解使当前类下的配置支持Nacos的动态刷新功能
Nacos页面找到 配置列表-->
点击"+"图标-->
文件名称格式固定为"微服务注册名称 - 当前环境 . yaml/properties"
如: nacos-config-client-dev.yaml
三种配置方案:
Namespace 默认的命名空间是public,Namespace主要用来实现隔离。
比方说我们现在有三个环境:开发、测试、生产环境,我们就可以创建三个Namespace,不同的Namespace之间是隔离的。
Group 默认是DEFAULT_GROUP,Group可以把不同的微服务划分到同一个分组里面去
Service 就是微服务;一个Service可以包含多个Cluster(集群),Nacos默认Cluster是DEFAULT,Cluster是对指定微服务的一个虚拟划分。
配置实例:
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos服务注册中心地址
config:
server-addr: localhost:8848 #Nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置
group: DEV_GROUP #指定Group
namespace: 86ef65ba-849a-4605-90c9-26c547fd1556 #Namespace的命名空间ID
nacos集群配置
百度linux系统配置nacos集群