全国直销电话:4006-854-568
IT-technology
以人为本,众志成城,以“用户至上”.“服务上乘”为原则,
追求产品和服务高质量,努力实现与客户之间真诚有效的沟通,
不断地圆梦、奔跑与腾飞。
新闻动态   NEWS
ES+Redis+MySQL的高可用架构设计-北京赛维博信科技发展有限公司
来源:本人摘自网络,如有侵权请联系删除 | 作者:毛豆 | 发布时间: 2023-09-25 | 860 次浏览 | 分享到:


如下图所示:

展望:更精细化的流控和降级策略

任何一个系统,都不能保证百分之一百不出问题,所以我们要有面向失败的设计,那就是更精细化的流控和降级策略。

| 更精细化的流控策略

热点控制。针对黑产刷单的场景,同一个会员 id 会有大量重复的请求,形成热点账号,当这些账号的访问超过设定阈值时,实施限流策略。


基于调用账号的流控规则。这个策略主要是防止调用方的代码 bug 导致的大流量。例如,调用方在一次用户请求中,循环很多次来调用会员接口,导致会员系统流量暴增很多倍。所以,要针对每个调用账号设置流控规则,当超过阈值时,实施限流策略。


全局流控规则。我们会员系统能抗下 tps 3 万多的秒并发请求量,如果此时,有个很恐怖的流量打过来,tps 高达 10 万,与其让这波流量把会员数据库、ES 全部打死,还不如把超过会员系统承受范围之外的流量快速失败,至少 tps 3 万内的会员请求能正常响应,不会让整个会员系统全部崩溃。


| 更精细化的降级策略

基于平均响应时间的降级。会员接口也有依赖其他接口,当调用其他接口的平均响应时间超过阈值,进入准降级状态。


如果接下来 1s 内进入的请求,它们的平均响应时间都持续超过阈值,那么在接下的时间窗口内,自动地熔断。


基于异常数和异常比例的降级。当会员接口依赖的其他接口发生异常,如果 1 分钟内的异常数超过阈值,或者每秒异常总数占通过量的比值超过阈值,进入降级状态,在接下的时间窗口之内,自动熔断。


目前,我们最大的痛点是会员调用账号的治理。公司内,想要调用会员接口,必须申请一个调用账号,我们会记录该账号的使用场景,并设置流控、降级策略的规则。


但在实际使用的过程中,申请了该账号的同事,可能异动到其他部门了,此时他可能也会调用会员系统,为了省事,他不会再次申请会员账号,而是直接沿用以前的账号过来调用,这导致我们无法判断一个会员账号的具体使用场景是什么,也就无法实施更精细的流控和降级策略。


所以,接下来,我们将会对所有调用账号进行一个个的梳理,这是个非常庞大且繁琐的工作,但无路如何,硬着头皮也要做好。



 

服务热线

1391-024-6332