简述微服务高可用之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回滚事务。
相关文章:
简述微服务高可用之Sentinel、Seate
简述微服务高可用之Sentinel、Seate使用 下文主要讲述使用sentinel,如何降级限流熔断及如何使用seata管理分布式事务 sentinel服务端安装与使用 1、下载 进入https://github.com/alibaba/Sentinel/releases 根据你的需求进行下载对应版本 我这里是JDK17 下载的1.8.8版本&am…...
将爱传递 将“服务好”延伸
从泰康客户,转身成为泰康人,她直言是因为亲身感受了泰康“服务好”的魅力。 入司已8年的泰康养老浙江分公司HWP何英英,是泰康“服务好”的受益者。她从朋友的理赔中见证了泰康服务好的温度与力量,又被泰康养老的职域模式所吸引选择加入泰康。如今,她全身心投入在服务的第一线,…...
基于MinIO配置bucket,用于文件下载和浏览
文章目录 引言I 配置文件浏览安装MinIO配置自启动服务访问权限配置文件浏览访问地址文件下载地址II 知识扩展MinIO内置访问策略只读策略只写策略读写策略diagnosticsconsoleAdmin引言 需求:文件下载用于OTA升级,文件浏览用于产品展示。 实现方案:基于MinIO配置bucket访问权…...
Ubuntu 配置 ssh 免密连接、安装Docker、docker-compose
Ubuntu 配置 ssh 免密连接 本机 #生成密钥 ssh-keygen -t rsa -b 4096 #发送公钥到服务器 ssh-copy-id usernameremote_host #测试 ssh usernameremote_host全部回车,密钥存储路径默认是 ~/.ssh/id_rsa 服务器 确认服务器公钥配置允许远程公钥认证 sudo vim /et…...
C++ -string -常见用法2
博客主页:【夜泉_ly】 本文专栏:【C】 欢迎点赞👍收藏⭐关注❤️ 文章目录 💡前言💡访问及遍历1.速览2.operator[] -重点⭐2.1函数原型2.2用法2.3与at 3.迭代器3.1函数原型3.2用法速览3.3简介 4.范围for4.1用法速览4.2…...
为您的 WordPress 网站打造完美广告布局 A5广告单元格插件
一个为 WordPress 网站量身定制的强大工具,它将彻底改变您展示广告的方式 灵活多变的布局设计 A5 广告单元格插件的核心优势在于其无与伦比的灵活性。无论您是想要创建整齐的网格布局,还是希望打造独特的不规则设计,这款插件都能满足您的需求。 自定义网格数量:从 2…...
前端的AI工具:ChatGPT Canvas与Claude Artifacts对比 -仅仅是OpenAI一个迟来的追赶吗?- 贺星舰五飞试验成功
如果你对OpenAI的ChatGPT Canvas和Anthropic的Claude Artifacts有所耳闻,可能会想知道这两个工具有何不同,以及哪个能让你的工作流程更加顺畅。这两个工具旨在提升生产力,但侧重点各异——编码、写作、创意和实时反馈。 本文将深入探讨ChatG…...
GNU链接器(LD):输出分区类型(NOLOAD、READONLY、DSECT、COPY、INFO、OVERLAY)介绍
0 参考资料 GNU-LD-v2.30-中文手册.pdf GNU linker.pdf1 前言 一个完整的编译工具链应该包含以下4个部分: (1)编译器 (2)汇编器 (3)链接器 (4)lib库 在GNU工具链中&…...
【MySQL】表的查询操作——SELECT
目录 1.select的基本使用 1.1.查询所有列 1.2.查询特定列 1.3.DISTINCT关键字的使用——查询不重复的年级 1.4.带条件的查询 1.5.排序查询结果 1.6.LIMIT的使用——限制返回的行数 1.7.组合使用 WHERE、ORDER BY 和 LIMIT 1.8.查询字段为表达式 1.9.为查询结果指定别名…...
天地伟业NVR管理工具EasyNVR平台多个NVR同时管理运行后日志一直在打印error
视频安防监控平台天地伟业NVR管理工具EasyNVR可支持设备通过RTSP/Onvif协议接入,并能对接入的视频流进行处理与多端分发,包括RTMP、RTSP、WS-FLV、HTTP-FLV、WebRTC、HLS等多种视频流格式。平台可提供视频实时监控直播、云端录像、录像检索、云存储与回看…...
HAL+M4学习记录_7
一、TIM 记录学习HAL配置TIM定时器 1.1 简介 TIM(timer)定时器,16位或32位(TIM2和TIM5)计数器、预分频器(16位)、自动重装寄存器的时基单元;可对输入时钟进行计数,在计数…...
mysql 慢查询日志slowlog
慢查询参数 slow log 输出示例 # Time: 2024-08-08T22:39:12.80425308:00 #查询结束时间戳 # UserHost: root[root] localhost [] Id: 83 # Query_time: 2.331306 Lock_time: 0.000003 Rows_sent: 9762500 Rows_examined: 6250 SET timestamp1723127950; select *…...
基于AES的遥感图像加密算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 AES 加密算法概述 4.2 基于 AES 的遥感图像加密算法原理 5.完整程序 1.程序功能描述 通过AES算法对遥感图像进行加密和解密,分析加解密处理后图像的直方图,相关…...
MySQL insert 记录后查询是乱码问题分析
问题现象 后台应用程序使用的是云上的 MySQL 服务,需要给 MySQL 数据表里 insert 一些数据,平时都是先运行一个 MySQL 的 pod: kubectl run mysql-client --rm -it --restartNever --image mysql:5.7 --command -- env LANGC.UTF-8 mysql -…...
字符串算法之AC 自动机(Aho-Corasick Algorithm, 多模式匹配)详细解读
AC自动机(Aho-Corasick Algorithm)是一种高效的多模式字符串匹配算法,用于同时查找多个模式串(子串)在文本串中的出现位置。它结合了字典树(Trie)和有限状态机(Finite State Machine…...
YoloV10改进:Block改进|使用ContextAggregation模块改善C2f模块|即插即用
摘要 在计算机视觉领域,目标检测与实例分割任务一直是研究的热点。YoloV10作为目标检测领域的佼佼者,凭借其出色的性能和效率赢得了广泛的认可。然而,随着技术的不断进步,如何进一步提升YoloV10的性能成为了我们追求的目标。近期…...
学习之高阶编程str方法
__str__方法 问题思考:交互环境下print打印的内容和和直接输入变量,返回的内容不一样这是为什么?. 使用print打印的时候触发的是_str_方法, 注意点: 重写str,必须要记得写return. return返回的必须是一个字符串对象。 class MyClass:def _…...
FreeRTOS:事件标志组
目录 一、简介 二、 事件控制块 三、相关API 四、 应用场景 一、简介 在FreeRTOS中,使用信号量可以实现同步,但是使用信号量来同步的话任务只能与单个的任务进行同步。有时候某个任务可能会需要与多个任务进行同步,此时信号量就无能为力。…...
【高分论文密码】AI赋能大尺度空间模拟与不确定性分析及数字制图
随着AI大语言模型的广泛应用,大尺度空间模拟预测与数字制图技术在不确定性分析中的重要性日益凸显。这些技术已经成为撰写高分SCI论文的关键工具,被誉为“高分论文密码”。大尺度模拟技术能够从不同的时空尺度揭示农业生态环境领域的内在机理和时空变化规…...
智能摆件(墨水屏)
因为需要申请8k的堆,所以需要更改堆的大小 stm32修改堆栈大小(堆栈空间不足导致死机)_minimum heap size-CSDN博客...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
