微服务保护和分布式事务

目录

​​​​​​1.雪崩问题

1.1原因分析

[1.2 解决思路](#1.2 解决思路)

请求限流

线程隔离

服务熔断

[2. 服务保护技术Sentinel](#2. 服务保护技术Sentinel)

[2.1 簇点链路](#2.1 簇点链路)

[2.2 请求限流](#2.2 请求限流)

[2.3 线程隔离](#2.3 线程隔离)

[2.4 Fallback](#2.4 Fallback)

[2.5 服务熔断](#2.5 服务熔断)

3.分布式事务

[3.1 Seata](#3.1 Seata)

[3.2 微服务集成Seata](#3.2 微服务集成Seata)

[3.3 XA模式](#3.3 XA模式)

[3.4 AT模式](#3.4 AT模式)


1.雪崩问题

1.1原因分析

1.2 解决思路

请求限流

线程隔离

服务熔断

2. 服务保护技术Sentinel

2.1 簇点链路

2.2 请求限流

对指定簇点增加流控规则,使用 jemter 进行限流测试。

2.3 线程隔离

维度 QPS 限制 并发线程数限制
限制对象 请求速率(单位时间内的请求数量) 同时处理的请求数(并行处理能力)
时间维度 基于时间窗口(通常每秒) 实时瞬时状态
控制目标 防止系统被高频请求压垮 防止系统因资源耗尽而崩溃
触发条件 单位时间内请求数超过阈值 同时处理的请求数超过阈值

2.4 Fallback

FeignClient 作为簇点,本质上是将 Sentinel 的流量治理能力作用于服务边界 ,这是构建高韧性微服务系统的关键实践。它确保了当某个依赖服务出现问题时,故障能被隔离在局部,不会扩散到整个系统。

2.5 服务熔断

3.分布式事务

3.1 Seata

3.2 微服务集成Seata

见文档

3.3 XA模式

3.4 AT模式

相关推荐
Patrick_Wilson8 小时前
幂等到底是什么?从前端视角讲透 SQL、HTTP 与 POST 接口的幂等设计
前端·后端·架构
SamDeepThinking10 小时前
Java微服务练习方式
java·后端·微服务
禅思院10 小时前
Vite vs Webpack 深度对比:从启动原理到生产构建,一篇就够了
前端·架构·前端框架
Cerrda1 天前
开发体验升级:UnoCSS 自定义 SVG 图标热更新方案
架构·前端框架
Kstheme1 天前
把任何 GitHub 仓库变成系统设计课:这个开源项目做到了
架构
禅思院1 天前
路由性能高可用架构实战方案
前端·架构·前端框架
贵慜_Derek2 天前
《从零实现 Agent 系统》连载 32|闭集 IE 与小模型:分类、意图与字段抽取
人工智能·架构·agent
江米小枣tonylua3 天前
译:设计生产级 RAG 架构
架构
怕浪猫3 天前
领域特定语言(Domain-Specific Language, DSL)
设计模式·程序员·架构