惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
N
Netflix TechBlog - Medium
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
F
Fortinet All Blogs
大猫的无限游戏
大猫的无限游戏
I
InfoQ
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
有赞技术团队
有赞技术团队
G
Google Developers Blog
L
LangChain Blog
博客园_首页
M
MIT News - Artificial intelligence
H
Hackread – Cybersecurity News, Data Breaches, AI and More
月光博客
月光博客
IT之家
IT之家
量子位
宝玉的分享
宝玉的分享
S
SegmentFault 最新的问题
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
祭天的支付故障:雪崩
隐墨星辰 · 2024-12-16 · via 人人都是产品经理

“支付故障之痛,雪崩教训深刻。” 在互联网支付领域,系统稳定至关重要。一次看似微小的问题,如何引发了灾难性的雪崩?我们又能从中吸取哪些教训,以保障支付系统的安全与可靠?

我是从传统行业转互联网支付,刚进入支付行业那几年,经历了很多线上故障。

除了上一篇说到的渠道短号导致资损几十万的故障,还有一个可以拖出去祭天的故障,导致的后果严重性远超上一个:不但整个支付系统宕机,错乱的数据就有几十万条,修数就修了四天三夜。

好在领导真的人好,保住我小命一条,但是领导自己的年终和晋升给祭天了。

故事从好些年前说起,那时分布式应用已经起来,但是微服务还没有成气候。

支付系统由台服务器组成集群服务,每台服务器都有完整的全应用部署,包括收银支付,收单,渠道网关,会员,商服等全部子应用,从入口开始直到调用渠道,全部在一台服务器内部搞定,各子应用之间的服务是独立的,通过socket调用。

整体架构如下图所示。

那时还是直连银行,日常没有什么问题,经过几次大促的洗礼都平安度过。

直到有一次大促,流量特别高,大促开始没几分钟,就有一家银行出现慢处理问题,具体表现为平时1S就返回,变成了平均2到5分钟才返回结果。

很不幸,当前网关的配置有缺陷,导致配置的超时时间没有生效,所有与这家银行的请求平均耗时2到5分钟才释放,导致网关的线程耗尽。

悲剧由此拉开序幕。

首先是网关的线程耗尽,导致其它银行的请求也得不到及时的处理。

然后是内部各子应用之间全部是同步调用,网关的问题快速蔓延到了上游应用,上游各子应用的线程数也被耗尽,雪崩出现,整个支付系统无法正常处理业务请求。

那也是我职业生涯中第一次听说“雪崩”这个名词可以用在技术领域。

如前面所说,当时数据订正就花了四天三夜,每天在公司的行军床上躺2小时。

前车之鉴,后车之师。还是有一些教训可以总结一下。

强制设置合理的超时时间,并验证有效。这里面包含2层意思:

合理的超时时间。比如不同的外部渠道以及同一渠道不同的接口,响应时间都是不一样的,需要统计90分位,95分位,98分位等多个时间。一般覆盖95分位就差不多。

需要验证有效。很多技术参数在表面上看是设置了,但是实际可能不是预期那样。就拿http来说,就有连接超时,写入超时,读取超时等多个超时参数。一定需要模拟测试验证,达到预期效果。

服务隔离。比如为不同的渠道做线程池隔离。一个渠道挂了不影响另外一个渠道。

健全的服务降级、熔断、限流能力。现在的微服务框架基本都有自动化的服务降级、熔断、限流能力,但是需要提前做好配置。提供有损服务好过完全无服务可用。

用好同步受理异步处理机制。比如最外部的渠道网关,因为外部渠道的耗时都比较长,就采用同步受理异步处理的模式:先把交易信息收下来,落库,马上返回给上游受理成功,然后再起异步线程把请求发出去。

这样有两个好处:

1)可以为网关单独扩大线程池的最大线程配置。因为网关已经变为IO密集型应用。

2)网关的慢处理(比如耗时2S),不影响上游,上游可以毫秒级就处理完自己的业务。

压测和预案。前者是提前发现问题,后者是问题出现后可以指导快速响应。

当交易量足够大,一个小小的问题也有可能被放大到无法承受之重。

无知的人,给平台带来的伤痛最深。

本文由人人都是产品经理作者【隐墨星辰】,微信公众号:【隐墨星辰】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。