DBPack 限流熔断功能发布说明
上周我们发布了 v0.4.0 版本,增加了限流熔断功能,现对这两个功能做如下说明。
限流
DBPack 限流熔断功能通过 filter 实现。要设置限流规则,首先要定义 RateLimitFilter:
- name: rateLimiterFilter
kind: RateLimiterFilter
conf:
# 1000 requests per second
insert_limit: 1000
# 1000 requests per second
update_limit: 1000
# 1000 requests per second
delete_limit: 1000
# 1000 requests per second
select_limit: 1000
支持对增删改查请求单独限流。限流策略以秒为单位,即允许每秒执行多少次请求(RPS)。如果设置为 0 表示不限流。上面的例子表示限制为每秒执行 1000 次请求。
定义好 RateLimitFilter 后,将 filter 的名字加入到 Executor 的 filter list 中:
executors:
- name: redirect
mode: sdb
config:
data_source_ref: employees
filters:
- cryptoFilter
# 限流 filter
- rateLimiterFilter
这样就配置好限流功能了。
熔断
配置 DBPack 的熔断功能,需要先定义 CircuitBreakerFilter:
- name: circuitBreakerFilter
kind: CircuitBreakerFilter
conf:
# error 次数
error_threshold: 20
# success 次数
success_threshold: 5
// seconds
timeout: 60
上面的配置表示:
- 60 秒内累计错误次数达到 20 次,熔断器状态为
Open打开状态,此时请求不能执行。 - 熔断器打开 60 秒后,熔断器状态变为
HalfOpen半开状态,此时可以执行请求。 - 熔断器状态变为
HalfOpen半开状态后,执行的第一个请求,如果执行失败,熔断器再次变为Open打开状态;如果连续 5 次请求执行成功,则关闭熔断器,熔断器状态变为Closed。
定义好 CircuitBreakerFilter 后,将 filter 的名字加入到 Executor 的 filter list 中:
executors:
- name: redirect
mode: sdb
config:
data_source_ref: employees
filters:
- cryptoFilter
# 熔断 filter
- circuitBreakerFilter
这样就配置好了熔断功能。
综述
在 v0.1.0 版本我们发布了分布式事务功能,支持各种编程语言协调分布式事务。
在 v0.2.0 版本我们发布了读写分离功能,用户在开启读写分离功能的情况下,使用分布式事务协调功能不再需要做复杂的集成,DBPack 提供了一站式的解决方案。
在 v0.3.0 版本,我们加入 SQL Tracing 的功能,使用该功能可以收集到一个完整的分布式事务链路,查看事务的执行情况。我们还加入了数据加密功能,通过该功能保护用户的重要数据资产。
在 v0.4.0 版本,我们加入了限流熔断功能,该功能能保护数据库不受到超过自身处理能力的请求流量冲击。
在 v0.5.0 版本中,我们将加入分库分表功能。
欢迎开源爱好者和我们一起建设 DBPack 社区,加群或参与社区建设,请微信联系:scottlewis。
链接
- dbpack: https://github.com/CECTC/dbpack
- dbpack-samples: https://github.com/CECTC/dbpack-samples
- dbpack-doc: https://github.com/CECTC/dbpack-doc
- 事件驱动分布式事务设计:https://mp.weixin.qq.com/s/r43JvRY3LCETMoZjrdNxXA
- 视频介绍:
- 《dbpack 分布式事务功能详解》 https://www.bilibili.com/video/BV1cg411X7Ek
- 《高性能分布式事务框架实践》https://www.bilibili.com/video/BV1Xr4y1L7kD
DBPack 限流熔断功能发布说明的更多相关文章
- .Net微服务实践(四)[网关]:Ocelot限流熔断、缓存以及负载均衡
目录 限流 熔断 缓存 Header转化 HTTP方法转换 负载均衡 注入/重写中间件 后台管理 最后 在上篇.Net微服务实践(三)[网关]:Ocelot配置路由和请求聚合中我们介绍了Ocelot的 ...
- springBoot整合Sentinel实现降级限流熔断
由于hystrix的停止更新,以及阿里Sentinel在历年双十一的贡献.项目中使用了Sentinel,今天我们来讲讲Sentinel的入门教程,本文使用1.6.3版本进行讲解 本文通过Sentine ...
- Hystrix介绍以及服务的降级限流熔断
(dubbo熔断,Hystrix问的少) 无论是缓存层还是存储层都会有出错的概率,可以将它们视同为资源.作为并发量较大的系统,假如有一个资源不可用,可能会造成线程全部 hang (挂起)在这个资源上, ...
- .net core使用ocelot---第四篇 限流熔断
简介 .net core使用ocelot---第一篇 简单使用 .net core使用ocelot---第二篇 身份验证 .net core使用ocelot---第三篇 日志记录 前几篇文章我们陆续介 ...
- springcloud3(六) 服务降级限流熔断组件Resilience4j
代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-gateway/src/test/java/com/ ...
- Spring Cloud alibaba网关 sentinel zuul 四 限流熔断
spring cloud alibaba 集成了 他内部开源的 Sentinel 熔断限流框架 Sentinel 介绍 官方网址 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentine ...
- .Net Core使用Ocelot网关(一) -负载,限流,熔断,Header转换
1.什么是API网关 API网关是微服务架构中的唯一入口,它提供一个单独且统一的API入口用于访问内部一个或多个API.它可以具有身份验证,监控,负载均衡,缓存,请求分片与管理,静态响应处理等.API ...
- 深入学习spring cloud gateway 限流熔断
前言 Spring Cloud Gateway 目前,Spring Cloud Gateway是仅次于Spring Cloud Netflix的第二个最受欢迎的Spring Cloud项目(就GitH ...
- .Net Core的API网关Ocelot的使用(二)[负载,限流,熔断,Header转换]
网关的负载均衡 当下游拥有多个节点的时候,我们可以用DownstreamHostAndPorts来配置 { "UpstreamPathTemplate": "/Api_A ...
随机推荐
- 【Java面试】什么是幂等?如何解决幂等性问题?
一个在传统行业工作了7年的粉丝私信我. 他最近去很多互联网公司面试,遇到的很多技术和概念都没听过. 其中就有一道题是:"什么是幂等.如何解决幂等性问题"? 他说,这个概念听都没听过 ...
- 论文解读(LA-GNN)《Local Augmentation for Graph Neural Networks》
论文信息 论文标题:Local Augmentation for Graph Neural Networks论文作者:Songtao Liu, Hanze Dong, Lanqing Li, Ting ...
- Linux Cgroup v1(中文翻译)(1):Control Group
英文原文:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cgroups.html 1 控制组 1.1 什么是控制组? 控制组 ...
- SCI论文写作注意事项
1. 先写结论:(划定范围,以防添加无效的内容) 并非一开始就把整个结论都写出来,而是把
- Jetpack架构组件学习(3)——Activity Results API使用
原文地址:Jetpack架构组件学习(3)--Activity Results API使用 - Stars-One的杂货小窝 技术与时俱进,页面跳转传值一直使用的是startActivityForRe ...
- 国外卡组织的 交换费-interchangefee(发卡行服务费) 和 银联对比
本文地址:https://www.cnblogs.com/hchengmx/p/15170391.html 1. 交换费(interchangefee)介绍 2. MasterCard 万事达卡 &a ...
- Spring基础只是—AOP的概念介绍
Spring容器包含两个重要的特性:面向切面编程(AOP)和控制反转(IOC).面向切面编程是面向对象(OOP)的一种补充,在面向对象编程的过程中编程针对的目标是一个个对象,而面向切面编程中编程针对的 ...
- 【转载】浅谈大规模k8s集群关于events的那些坑
原文链接:一流铲屎官二流程序员[浅谈大规模k8s集群关于events的那些坑] 背景 随着k8s集群规模的增加,集群内的object数量也与日俱增,那么events的数量也会伴随其大量增加,那么当用户 ...
- Acwing785.快速排序
Acwing785.快速排序 快排模板: y总教学大法好~: #include <iostream> using namespace std; const int N = 1000010; ...
- 打字速度单位WPM、KPM定义与计算方法
国际通行的打字速度单位是WPM,用来量度打字速度的快慢.另外还有相关的KPM.CPM.KPH等打字速度单位,下面一一介绍. ----WPM------------------------------- ...