• 公司重用我独立负责一个核心系统,我该怎么设计系统的高可用架构?


    V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF

    目录

    • 业务场景引入
    • 业务系统消息同步丢失
    • 计费业务系统的计费问题
    • 计费业务数据补偿系统设计

    背景

    今天给大家分享一个话题,就是对于线上跟钱有关的计费类的系统,在线上可能出现的一些把钱算错的问题,以及我们如何来设计架构解决这些问题。

    但凡是跟算钱相关的系统,都是每个公司的重中之重,比如说价格系统、运费系统、计费系统、支付系统、基金系统、财务系统、结算系统等等,因为这些系统运行过程中,随时可能因为技术问题或者运营的人为误操作问题,把钱给算错了。

    所以今天来给大家讲讲这一类跟算钱有关的系统,我们应该如何来保证他不会把钱给算错呢?


    计费业务系统架构设计

    | 业务场景引入

    首先,我们先来引入一个业务场景,假设我们现在有 B 端、M 端和 C 端三个系统。

    其中 B 端可以由商家/入驻客户/供应商/合作伙伴这一类 B 端角色对自己的一些计费规则进行设置和调整,M 端是是公司的运营可以进行统一的基础性计费规则调整,C 端是面向用户的,在处理一些请求的时候,会根据 B 端和 M 端的计费规则进行计算,算出当前的支付金额。

    如下图:

    图片

    这个时候可能你说了,这看起来没啥问题啊,不就在平台层和商家层允许修改计费规则,然后c端系统实时根据两个系统的计费规则计算费用么。

    真的是这样吗?上面那套计费模型里,看着简单,其实蕴藏着大量的问题,下面来给大家一一说明。

    | 业务系统消息同步丢失

    首先,因为历史原因,上述计费模型会非常的复杂,不是我们看起来那么的简单。

    实际上,B 端系统每次修改完了计费规则以后,是要把计费规则通过 MQ 同步

  • 相关阅读:
    环形石子合并——区间DP
    Axios post请求出现500错误
    通过 Traefik Hub 暴露家里的网络服务
    Javascript知识【validation插件重写表单注册校验】
    【操作系统】模块四:进程和线程
    4.中台领域建模
    二维区间最值差
    单例模式---线程安全实现
    【对象存储】Minio本地运行和 golang客户端基本操作
    【go】依赖注入
  • 原文地址:https://blog.csdn.net/qq_42046105/article/details/127477796