一,Nacos搭建
下载地址:https://github.com/alibaba/nacos
下载后启动
二, 配置服务注册到Nacos
Maven依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- Sentinel支持采用 Nacos 作为规则配置数据源,引入该适配依赖 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
Yaml配置:
server:
port: 8097
spring:
application:
name: service-autodeliver
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
三,配置中心
Maven依赖
<!--nacos service discovery client依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--nacos config client 依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
Nacos配置新增
yaml配置
# nacos配置
cloud:
nacos:
discovery:
# 集群中各节点信息都配置在这里(域名-VIP-绑定映射到各个实例的地址信息)
server-addr: 127.0.0.1:8848
# nacos config 配置
config:
server-addr: 127.0.0.1:8848
# 锁定server端的配置文件(读取它的配置项)
namespace: be08f1af915d32e3dec7ff5a76ade2d7 # 命名空间id
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yaml #默认properties
四,Sentinel
下载地址:Release v1.7.1 · alibaba/Sentinel · GitHub
流量控制上,对于注册上去的服务,加载方式为懒加载
Maven依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--sentinel 核心环境 依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- Sentinel支持采用 Nacos 作为规则配置数据源,引入该适配依赖
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
-->
Yaml配置
server:
port: 8098
spring:
application:
name: service-autodeliver
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
sentinel:
transport:
dashboard: 127.0.0.1:8080 # sentinel dashboard/console 地址
port: 8719 # sentinel会在该端口启动http server,那么这样的话,控制台定义的一些限流等规则才能发送传递过来,
#如果8719端口被占用,那么会依次+1