持久化,push模式
启动nacos
启动单机模式(因为之前conf配置使用的是集群)
startup.cmd -m standalone
nacos启动成功
启动Sentinel
java -jar -Dnacos.addr=localhost:8848 sentinel-dashboard.jar
Sentinel启动成功![](https://img-blog.csdnimg.cn/direct/dfc4703550884b66984b8c1e8b3f8cd5.png)
这里不做过多解释直接看application.yaml配置文件
server:
port: 10010
logging:
level:
cn.itcast: debug
pattern:
dateformat: MM-dd HH:mm:ss:SSS
spring:
application:
name: gateway
cloud:
nacos:
server-addr: localhost:8848 # nacos地址
sentinel:
transport:
dashboard: localhost:8080
datasource:
flow:
nacos:
server-addr: localhost:8848 # nacos地址
dataId: gateway-flow-rules
groupId: SENTINEL_GROUP
rule-type: flow # 还可以是:degrade、authority、param-flow
gateway:
routes:
- id: user-service # 路由标示,必须唯一
uri: lb://userservice # 路由的目标地址
predicates: # 路由断言,判断请求是否符合规则
- Path=/user/** # 路径断言,判断路径是否是以/user开头,如果是则符合
- id: order-service
uri: lb://orderservice
predicates:
- Path=/order/**
default-filters:
- AddRequestHeader=Truth,Itcast is freaking awesome!
- AddRequestHeader=origin,gateway
持久化成功
出现 流控规则-nacos 表示持久化成功
需要持久化,直接在 流控规则-Nacos 中添加就行(方便好用)
注意点
端口的ip要保持一致,修改端口记得一起修改
实现持久化代码主要是下面代码
flow:限流
degrade:降级
authority:权限问题
datasource:
flow:
nacos:
server-addr: localhost:8848 # nacos地址
dataId: gateway-flow-rules
groupId: SENTINEL_GROUP
rule-type: flow # 还可以是:degrade、authority、param-flow
出现问题(已经解决)
一般出现问题都是启动时端口出现问题比如8080端口被占用了
这里的解决方法是
如果有端口需要终止
解决
无法解决(无法终止该进程)
打开任务管理器,找到对应的pid
直接右键结束该进程就行
总结
配置不难,主要是端口的占用和,端口的对应,不要搞混了。如有
如有其它问题需要解答可以留言~~