写点什么

切流的基本逻辑

作者:agnostic
  • 2022 年 9 月 08 日
    上海
  • 本文字数:383 字

    阅读完需:约 1 分钟

软件的架构特别是互联网的架构是一种演进的架构。存在演进就存在不同链路切流的需求。甚至可以说,切流能力是支撑软件演进的基本能力。


但是,切流往往也是高危的操作,是引起用户体验、资金安全问题的重要风险。


切流的底层逻辑非常简单。对于切流操作,一定有一个“分流点”,从唯一的分流点将流量按照 MECE 原则分成多路进行处理。所以,要保证切流的安全,就是要保证这个分流的 MECE 原则。


MECE:Mutually Exclusive Collectively Exhaustive。


这里面,往往又有两层逻辑需要考虑。

首先,对于一个请求的分流,需要做到可重复操作。这点可以叫做切流的幂等性。

其次,对于前后有依赖的分流,需要做到前后一致性。这点可以叫做切流的黏着性。


对于切流的幂等性。最简单的实现方式就是切流结果的持久化。

对于切流的黏着性。有两类实现方式:

  1. 采用相同的切流标,如 userId;

  2. 采用查询逻辑,比如根据前置 orderId 查询前置单据的切流结果。


发布于: 刚刚阅读数: 5
用户头像

agnostic

关注

还未添加个人签名 2019.02.14 加入

还未添加个人简介

评论

发布
暂无评论
切流的基本逻辑_agnostic_InfoQ写作社区