分布式系统
文章平均质量分 90
分布式系统设计,架构
内核手记
内核手记,分享核心知识
展开
-
微信支付系统的单号原来是这样设计的
引言在一般的分布式系统,或者是电商系统,用单号来索引到某一笔单据,或实体对象。每个人都是独立无二的,在社会层面,国家用身份证号码来标记你的征信,追踪你的遵纪守法记录。在家庭层面,用昵称来表达对亲人的称谓。在群聊中,用花名彰显个性。什么是内外部单号就像同一个人在不同的场合,有不同的称谓一样,同一个实体在不同的上下文可能有多种表达方式。比如下面的是商户请求微信支付系统分账用例的api:请求包的字段列表中包括商户分账单号字段,要求商户在请求微信支付系统时,需要填写一个外部单号,用来标识此次请求,原创 2021-07-29 00:20:40 · 6394 阅读 · 0 评论 -
高可用离线任务设计思路
高可用离线任务设计思路离线任务分类离线任务广泛存在于分布式系统设计中,他们承担着重要的工作,包括维护数据最终一致性,解决业务诉求传输数据等等。下面介绍两类离线任务:分布式任务兜底如图,上述一个分布式事务,离线兜底流程可以在实时流程执行失败时,将单据扭转到正确的状态。其执行的过程就是不断的扫描数据库表,将异常单据找出并执行对应的操作。推拉数据如图,业务开发中,往往存在跨子域数据传输的需求,如交易数据、退款数据需要导出给账单出账;或者是将数据定时出库作为备份,作为快照使用。此时将涉及到扫存储(一原创 2021-04-11 21:54:17 · 1129 阅读 · 0 评论