加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

五个9的可用度、秒级故障解决,探寻互联网金融应用之道

发布时间:2021-01-07 13:25:44 所属栏目:安全 来源:网络整理
导读:副标题#e# 《五个9的可用度、秒级故障解决,探寻互联网金融应用之道》要点: 本文介绍了五个9的可用度、秒级故障解决,探寻互联网金融应用之道,希望对您有用。如果有疑问,可以联系我们。 本文源自11月24日『高效开发运维』微信群的在线分享,分享者为付钱

付钱拉提供各种各样的支付接口给商户,常用的就有快捷,个人网银,企业网银,退款,撤销,批量代付,批量代扣,单笔代付,单笔代扣,语音支付,余额查询,身份证鉴权,银行卡鉴权,卡密鉴权等.与其对应的支付通道有微信支付,ApplePay,支付宝等30多家支付通道,并且接入了几百家商户.在这三个维度下,如何确保不同业务、三方、商户、以及支付类型互不影响,付钱拉所做的就是拆分消息队列.下图是部分业务消息队列拆分图:

 

限制资源的使用

对于资源使用的限制设计是高可用系统最重要的一点,也是容易被忽略的一点,资源相对有限,用的过多了,自然会导致应用宕机.为此付钱拉做了以下功课:

(1) 限制连接数

随着分布式的横向扩展,需要考虑数据库连接数,而不是无休止的最大化.数据库的连接数是有限制的,需要全局考量所有的模块,特别是横向扩展带来的增加.

(2) 限制内存的使用

内存使用过大,会导致频繁的GC和OOM,内存的使用主要来自以下两个方面:

A. 集合容量过大;

B. 未释放已经不再引用的对象,比如放入ThreadLocal的对象一直会等到线程退出的时候回收.

(3) 限制线程创建?

线程的无限制创建,最终导致其不可控,特别是隐藏在代码中的创建线程方法.

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!