微服务保护sentiel 小记

这里使用的是sentiel 和Hystrix的对比图

 

因为微服务中关系复杂,服务之间可能存在着复杂的依赖关系,如果某个被访问的服务挂掉,可能会引起一大系列的问题--雪崩,最后导致整个服务瘫痪.

预防雪崩的方案有四种:超时处理、舱壁、断路器、限流

超时:设定一定的时间,请求超过一定的时间没有响应就返回错误信息,不会无休止的等待(就比如5秒去重试5秒重试...)

舱壁:顾名思义和船舱一样,每个船舱之间都是独立的

断路器:断路器统计业务执行的异常比例,如果超过阈值就会熔断该业务,拦截该业务的所有请求(类似电路保护空开)

限流:限制业务访问的QPS(家中水龙头,即使自来水管道的水流再大,水龙头很好的对水进行了流量控制)

 

我使用的是阿里的的Sentinel,相比网飞公司的Hystrix的对比图

使用Sentinel流程: 

将sentinel-dashboard-000.jar 运行起来  (可以到官网pull)

先写一个测试的小domo

导入阿里整合cloud的依赖

<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

修改yml配置

server:
 port: 8088
spring:
 cloud:
  sentinel:
   transport:
    dashboard: localhost:8080

 访问小demo的端点

然后到端口8080的sentinel控制台可以看到(得先访问端点,控制台才可以看到哟)....

 

 

 

 

 

 

针对每个访问的簇点链路,有各种操作

 

 

 

 

 

 各种操作,,,,,

sentiel 对服务的各种详细操作,得细心摸索,,,,,

2021年12月5日22:20:08 因为jmeter.bat面板跑不出来,不知道是怎么回事,,,就没有做详细的测试 ,,,,.,,,,,,,,

随笔记上两个linux命令

nohup java -jar **** & 后台运行jar

netstat -apn | grep 8888 查看占用的端口 ,然后kill-9干掉进程

在l中运行jar包时候 在etc\profile中把JAVAHOME配好.然后其他的环境以个人目前的认知, 好像都可在dock中跑

 

posted @ 2021-12-05 22:08  Iamd2  阅读(148)  评论(0)    收藏  举报