微服务保护和分布式事务(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的部署

记得修改注册中心类型为所使用的类型,以nacos为例,在con/registry.conf中修改注册中心类型

下载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

3.4 application.yml中配置

seata:
  registry: # TC服务注册中心的配置,微服务根据这些信息去注册中心获取tc服务地址
    # 参考tc服务自己的registry.conf中的配置
    type: nacos
    nacos: # tc
      server-addr: 127.0.0.1:8848
      namespace: ""
      group: DEFAULT_GROUP
      application: seata-tc-server # tc服务在nacos中的服务名称
      cluster: SH
  tx-service-group: seata-demo # 事务组,根据这个获取tc服务的cluster名称
  service:
    vgroup-mapping: # 事务组与TC服务cluster的映射关系
      seata-demo: SH

3.5 XA模式

 对于该分支事务加上@Transactional

 

3.6 AT模式

 

AT和XA的区别 

 

 

 

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值