

DBPack 限流熔断功能发布说明 - Scott Lewis
source link: https://www.cnblogs.com/DKSL/p/16588343.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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。
Recommend
-
40
简介 上一篇介绍了 Hystrix Dashboard 监控单体应用的例子,在生产环境中,监控的应用往往是一个集群,我们需要将每个实例的监控信息聚合起...
-
28
-
26
点击上方 “中间件兴趣圈” , 选择 “设为星标” 做积极的人,越努力越幸运!
-
31
作者:人月神话,新浪博客同名 简介:多年SOA规划建设,私有云PaaS平台架构设计经验,长期从事一线项目实践 今天准备谈下微...
-
33
限流、熔断与降级 限流、熔断与降级,此三者都是流量过大时,通过一定的方式去保护系统的手段,是应对海量服务的三大“神器”
-
10
聊一聊限流、降级、熔断小时候村里一到夏天,全村都开空调,村里总闸的保险丝就会因为用电量太大,自动熔断了,直接停服。股市也有一些极端情况开启熔断处理,不到万不得已,不会熔断。在...
-
6
重新整理 .net core 实践篇————熔断与限流[三十五] 简单整理一下熔断与限流,跟上一节息...
-
6
Envoy 可以作为 Sevice Mesh 微服务框架中的代理实现方案,Rainbond 内置的微服务框架同样基于 Envoy 实现。本文所描述的熔断实践基于 Rainbond 特有的插件机制实现。 Envoy 熔断机制介绍
-
4
在 v0.1.0 版本我们发布了分布式事务功能,并提供了读写分离功能预览。在 v0.2.0 这个版本,我们加入了通过 UseDB hint 自定义查询请求路由的功能,并修复了一些 bug。另外,在这个版本,我们还提供了审计日志功能的预览,该功能将在 v0.3...
-
6
上周,我们正式发布了 DBPack SQL Tracing 功能和数据加密功能,现对这两个功能做如下说明。 SQL Tracing 通过 DBPack 代理开启的全局事务,会自动在 http header 中注入 traceparent,traceparent 的值...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK