微服务保护和分布式事务(Sentinel、Seata)笔记

一、雪崩问题的解决的服务保护技术了解

二、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

相关推荐
喜欢打篮球的普通人11 分钟前
LLVM后端指令选择
android·java·javascript
吴声子夜歌16 分钟前
Redis 6.x——整合SpringBoot
数据库·spring boot·redis
某不知名網友18 分钟前
C++ 七大排序算法完整讲解
java·算法·排序算法
CodeStats25 分钟前
《源纹天书》第一百六十一章至第一百六十五章:开源化宣言、元定义的力量、栈帧重构、容器道场升级、技术债的化身!
java·源纹天书
不良手残30 分钟前
MyBatisPlus代码自动生成器
java
她说可以呀32 分钟前
RabbitMQ Confirm与Returns模式
分布式·rabbitmq
SamDeepThinking34 分钟前
一次线程池线上故障复盘:四层防线如何避免数据丢失
java·后端·程序员
花生智源1 小时前
Java实现Prompt工程的技巧——从模板到工程化,告别字符串拼接
java·人工智能
折哥的程序人生 · 物流技术专研1 小时前
Java 23 种设计模式:从踩坑到精通 | 番外:策略 vs 模板方法 —— 组合与继承的终极对决
java·策略模式·java面试·comparator·模版方法模式·java设计模式·从踩坑到精通
女神下凡1 小时前
WorkBuddy、TraeWork、QWork 完整区别对比
ide·人工智能·笔记