一、雪崩问题的解决的服务保护技术了解
二、Sentinel
2.1Sentinel入门
1.Sentinel的安装
(1)下载Sentinel的tar安装包先
(2)将jar包放在任意非中文、不包含特殊字符的目录下,重命名为
sentinel-dashboard.jar
(3)在cmd窗口中使用启动命令
java -Dserver.port=8090 -Dcsp.sentinel.dashboard.server=localhost:8090 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
2.注入Sentinel依赖
<!--sentinel-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
3.application.yml中配置
spring:
cloud:
sentinel:
transport:
dashboard: localhost:8090
2.2 Sentinel请求限流
通过蔟点链路的流控,设置单点阈值,对请求进行限流
2.3 Sentinel线程隔离
在cart的apllication.yml中进行配置限制
2.4 Sentinel-Fallback
2.5 Sentinel熔断
三、分布式事务Seata
3.1认识Seata
3.2Seata的部署
下载tar包进行后加载镜像
docker load -i seata.tar
查看镜像是否加载成功
docker images
查看列出所有网络
docker network ls
查看mysql的是否连接网络,使用查看mysql详细信息的命令
docker inspect mysql
查看nacos的是否连接在同一网络
docker inspect nacos
(如果不在则需要添加)例如将nacos加入网络中
docker network connect hm-net nacos
需要在seata文件夹中根据实际情况在application.yml中修改Mysql的配置
部署命令(需要根据具体情况修改SEATA_IP为自己的虚拟机IP地址,network为所连接的网络)
docker run --name seata \
-p 8099:8099 \
-p 7099:7099 \
-e SEATA_IP=192.168.92.136 \
-v ./seata:/seata-server/resources \
--privileged=true \
--network hm-net \
-d \
seataio/seata-server:1.5.2
3.3微服务整合Seata