简述微服务高可用之Sentinel、Seate

简述微服务高可用之Sentinel、Seate使用

下文主要讲述使用sentinel,如何降级限流熔断及如何使用seata管理分布式事务

sentinel服务端安装与使用

1、下载

进入https://github.com/alibaba/Sentinel/releases

根据你的需求进行下载对应版本

我这里是JDK17 下载的1.8.8版本,sentinel-dashboard-1.8.8.jar

2、启动服务,需安装java环境

复制代码
java -jar sentinel-dashboard-1.8.8.jar

3、在工程配置文件配置服务端地址。

在cloud:层级下配置sentinel,sentinel的默认端口为8080

复制代码
sentinel:
  transport:
    dashboard: localhost:8080  #配置sentinel服务端
  http-method-specify: true #开启请求方式前缀

4、访问sentinel服务端

此处的用户名和密码都是sentinel

5、进入主界面

在工程中配置了dashboard,接口访问后都会在此显示

6、实时监控

服务的请求情况都会记录,每秒通过多少次,拒绝多少次

7、簇点链路

用于记录每个接口的情况以及管理策略操作,可以对某接口进行限流、熔断、热点、授权等操作

(1)新增流控规则、

针对某接口进行流控,可选择QPS(每秒请求数)和并发线程数进行限制,选择QPS当每秒超过配置数会限制操作,提示Blocked by Sentinel (flow limiting)1秒后可重新访问

(2)新增熔断规则

熔断策略有三种慢调用模式,当调用时间达到最大RT,且比例阈值大于等于配置的阈值,视为该链路不可用。异常比例,当调用次数异常与总次数比例阈值>=配置阈值即熔断;异常数,当异常请求个数到达配置阈值。熔断时长表示不可用时间,在熔断时长后再次请求调用。采用了滑动时间窗算法。

滑动窗口算法是对固定窗口算法的改进,它将时间窗口分为多个小周期,每个小周期都有自己的计数器。随着时间的滑动,过期的小周期数据被删除,这样可以更精确地控制流量。

详细限流算法见https://zhuanlan.zhihu.com/p/689922080

(3)新增热点数据规则

对经常访问的数据进行限流。参数索引此处的0表示方法中的第一个参数,意为以哪个参数为索引。详情见https://blog.csdn.net/zhiqiang_cao/article/details/142937510

(4)新增权限规则

用于拦截那些允许访问、那些禁止访问。

详情参见https://blog.csdn.net/weixin_53041251/article/details/129651977

Seata 分布式事务处理

用于在微服务/分布式中保持数据的一致性

官方文档:https://seata.apache.org/zh-cn/docs/user/quickstart/

安装服务端:https://blog.csdn.net/2301_76862031/article/details/141499249

1、引入依赖

复制代码
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>

2、在方法上增加@GlobalTransactional,此处为示例代码具体逻辑实现请自行实现

复制代码
@Transactional
@GlobalTransactional
public String createOrder(String id){
    System.out.println("创建订单成功");
    inventoryService.reduceNum(id);
    return "";
}

分布式事务处理分为两阶段,第一阶段各自服务各自进行事务提交。第二阶段seata收集提交结果,若其中一个失败,则通过undolog回滚事务。

相关推荐
冷雨夜中漫步1 小时前
Claude Code源码分析——Claude Code 核心架构与关键模块实现设计
ai·架构·claude·claudecode
landuochong2001 小时前
给 Claude 订阅装一只电表 —— Claude API 多项目计量代理 `token-proxy` 实现详解
架构·claudecode
一个处女座的程序猿O(∩_∩)O1 小时前
大模型决战2026:从百模大战到空间智能,AI Agent与推理架构的深度实战
人工智能·架构
skilllite作者1 小时前
SkillLite 原生系统级沙箱功能代码导览
人工智能·chrome·后端·架构·rust
空中海3 小时前
03 性能、动画与 React Native 新架构
react native·react.js·架构
萑澈4 小时前
Ripple新前端框架的发展与AI原生全栈开发前景:架构重塑与生产力范式转移研究报告
架构·前端框架·ai-native
weixin_446260854 小时前
DeepDive:深度解析 DeepSeek V4 架构革新与长文本时代的算力重塑
架构
狂奔solar5 小时前
从“钢筋安装质量验收标准“谈起:知识库问答“多跳检索”架构演进与实践
架构·知识图谱·知识库溯源
勤劳打代码5 小时前
Flutter 架构日记 —— 可演进的 Flutter Dialog 组件
flutter·架构
gQ85v10Db6 小时前
Redis分布式锁进阶第十四篇:全系列终局架构复盘 + 锁体系统一规范 + 线上全年零事故收官方案
redis·分布式·架构