蚂蚁--- 香港存款月结单百万级重构 系分

2024-05-05 01:52

本文主要是介绍蚂蚁--- 香港存款月结单百万级重构 系分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:需求背景

1.1: 背景

随着香港银行极简开户,个人活期多币种,钱包用户引流等业务越来越多;香港银行存款客户数,账户数,交易数,均在今年快速增长,未来也会加快增长。

1.2: 存在的问题

账单中心存储月结单生成目前面临着较大的系统压力,安全隐患以及人工保障成本,其使用的跑批架构已不再适用于当前实际的业务发展阶段,迫切需要对月结单的跑批流程从底层根本的架构上进行重构设计,建设支持百万级客户的全新存款月结单链路。

1.3: 目标

建设一套多站点可复用的,并且香港存款月结单重构链路,将作为这套账单统一调度引擎的首个落地对象。将复用到多个站点。

1.4: 存在问题和挑战

问题:

1: 目前月结单都是按照单笔执行逻辑进行处理,导致每次生成月结单都要和DB进行交互,影响了月结单生产的效率。(性能问题)

2:月结单生成分为数据收集补充,pdf生成,消息通知三个阶段,耦合度极高。(扩展问题)

3:耦合度高导致无法独立修改进行,会DB交互

1.5: 目标

业务目标:(主要实现的功能点和效果)

绝对目标: 

香港存款月结单生成 支持百万级文件量的全部存款月结单品种在 每月初一天24小时内完成;

(个人客户约50个,个人活期月结单和个人存款宝月结单约50万份)

(企业客户数不超过1万个)

目前最近一次月结单生成 是26万份左右,6小时完成;

相对目标:

  香港存款月结单生成提升为原来的10倍,4800/小时 到 4.8万份文件/小时

 

系统目标:

 1: 解耦

  解耦香港存款月结单的各个子品种,使得 个人活期存款月结单,个人存款宝月结单,企业活期存款月结单,都作为各自独立,互不影响,可自定义调度控制的任务;

  解耦存款月结单的三个技术阶段,使得每个子品种存款月结单的一阶段数据准备,二阶段文件生成,三阶段对客通知,都各自独立,互不影响;

  

 2: 优化

  将原来根据存款账户维度生成月结单的模式,优化为按照用户文件维度生成。

  将原来单次调度执行单个账号的模式,优化为单次调度批量执行多个用户文件

  支持月结单指定规则跑批,包括圈人生成,历史月结单重新生成,多维度独立速率控制调度

3:提升月结单跑批性能,尽量减少存款月结单生成过程,对外部系统的RPC调用次数及对DB的调用次数
  1.   外汇实时换算接口,改为接入外汇SDK在月结单生成首次时,把获取到的汇率加载到缓存中,缓存有效期24小时,月结单生成时使用SDK在内存中进行汇率换算即可。
  2.   对客通知发沟通,改为调用沟通平台批量发送接口,每次发送1000个用户即可。
  3.   去除对于存款的调用,改为依赖账单本身数据库中的数据即可
  4.   月结单跑批过程中,对于账单本身数据库sql的增删改查操作,都尽量使用批量sql, 一次操作100个用户
  5.    “于乘上结余的获取,不再月结单跑批过程中实时进行DB查询,改为在月结单账户回流表中新增一个承上结余字段,在月结单跑批前,就用一个单独的定时任务,获取并填入承上结余。月结单跑批时取回流表数据则可天然获得对应账号的承上结余。
  6.   对于交易数量为0的账号,不再sql去查数据库交易回流表,目前有交易的账号大约只占总账号的十分之一。

 

这篇关于蚂蚁--- 香港存款月结单百万级重构 系分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/960572

相关文章

从滴滴到田野:300万存款后的人生选择

在快节奏的都市生活中,每个人都在为了生活奔波,为了梦想奋斗。然而,当一位滴滴员工在工作7年后,攒下了300万,他开始思考一个全新的人生选择:回老家“靠利息”生活,这是否可行?今天,我们就来探讨一下这个有趣的话题。 一、300万:一个重要的数字 对于许多人来说,300万是一个遥不可及的数字。但对于这位滴滴员工来说,这却是他7年辛勤工作的成果。这个数字不仅代表了他过去的努力,更是他未来选择的底气。

Mybatis Plus快速重构真批量sql入库操作

Mybatis快速重构真批量sql入库操作 基本思路 重构mybatis默认方法saveBatch和saveOrUpdateBatch的实现 基本步骤 真批量保存实现类InsertBatchMethod真批量更新实现类MysqlInsertOrUpdateBath注册InsertBatchMethod和MysqlInsertOrUpdateBath到EasySqlInjector注册Eas

[机缘参悟-222] - 系统的重构源于被动的痛苦、源于主动的精进、源于进化与演进(软件系统、思维方式、亲密关系、企业系统、商业价值链、中国社会、全球)

目录 前言:系统的重构源于被动的痛苦、源于主动的精进、源于进化与演进 一、软件系统的重构 1、重构的定义与目的 2、重构的时机与方法 3、重构的注意事项 4、重构的案例分析 二、大脑思维的重构 1、大脑思维重构的定义 2、大脑思维重构的方法 3、大脑思维重构的挑战与前景 三、认知的重构 1、定义 2、目的 3、方法 四、实例 五、总结 四、婚姻家庭的重构 1、婚

NYOJ 745 蚂蚁的难题(二)

OJ题目 : http://acm.nyist.net/JudgeOnline/problem.php?pid=745 描述 下雨了,下雨了,蚂蚁搬家了。 已知有n种食材需要搬走,这些食材从1到n依次排成了一个圈。小蚂蚁对每种食材都有一个喜爱程度值Vi,当然,如果Vi小于0的时候,表示蚂蚁讨厌这种食材。因为马上就要下雨了,所以蚂蚁只能搬一次,但是能够搬走连续一段的食材。时间紧急,你快帮

总结如何成为“好”代码——读《重构:改善既有代码的设计》有感

读后感 说是“读后感”,其实并不是看得很仔细,尤其是各种代码例子,我基本上是跳过的。个人觉得,重构这件事上,关键是要能嗅出坏代码,知道什么是好代码,这样目标明确后,重构的手段其实是水到渠成的,唯一要注意的就是书中强调的:要以小步为单位稳打稳扎进行。 我所理解的“好”代码 核心目标 那么如何才是“好”代码?书中的答案是:“人们是否能轻而易举地修改”,而我觉得抽象层级更高的描述是:易于未来的工

我酸了,蚂蚁上市,财富自由都是他们的4、蚂蚁金服上市,算算你离财富自由还有多远?...

蚂蚁金服要上市的消息,大家应该都听说了。数据显示,上市后阿里及蚂蚁员工可能将诞生 5000 个千万富翁,500个亿万富翁!你看这数字,每一个 0 都是财富自由的象征。 我算了一笔账。如果你月入 2 万+ ,想要身价过千万,你至少需要努力 50 多年;如果你月入 1 万 5 ,至少需要努力 80 多年;如果你月入还没有过万,你可能需要 “ 做梦 ” 。 今天简单点,想说的就是:有的时候,做梦也是

OpenAI ChatGPT企业版用户突破百万

🦉 AI新闻 🚀 OpenAI ChatGPT企业版用户突破百万 摘要:据彭博社报道,OpenAI的ChatGPT企业版已达到超过100万付费用户,涵盖ChatGPT Team、ChatGPT Enterprise及ChatGPT Edu等产品。尽管OpenAI不公布每个企业客户的平均用户数,但早前曾提及4月时有60万企业用户。企业用户主要集中在美国,德国、日本和英国也有显著使用。此外

蚂蚁SEO|AI养站程序是什么|蚂蚁蜘蛛池

《AI 养站程序:开启网站运营新未来》 在当今数字化时代,网站运营的重要性日益凸显。而 AI 养站程序的出现,为网站运营者带来了全新的机遇与挑战。 一、什么是 AI 养站程序 AI 养站程序是利用人工智能技术,对网站进行自动化管理和优化的工具。它可以自动生成内容、进行关键词优化、分析用户行为等,从而提高网站的流量、排名和用户体验。 例如,一些 AI 养站程序可以根据用户设定

数据结构 - 二叉树(重构 + 遍历)

写在前面 昨天有同学问到我一题关于重构二叉树的问题(link),做了一下,也做个记录吧! 所谓二叉树的重构,就是给你前序和中序,或者中序和后序,让你还原这棵二叉树. 注意:给出前序和后序是不能唯一确定一棵二叉树的,证明请看这儿.   一.给出前序和中序,重构二叉树 一个递归的过程: 当前结点的value:每一轮根据前序的第一个元素确定当前结点值. 左子树的中序遍历

香港一带一路研究院国际事务研究中心副主任陈景才阐述香港在一带一路建设及区块链金融领域的关键作用

2024年8月28日,香港金管局举行Ensemble项目沙盒(以下简称沙盒)启动仪式,并宣布首阶段试验将涵盖四大代币化资产用例主题,标志着金融业在代币化技术的实际应用进程中迈出重要一步。香港一带一路研究院国际事务研究中心副主任陈景才,在接受媒体采访时,深入分析了香港在一带一路建设及区块链金融领域所展现的巨大潜力和独特作用。   陈景才指出,香港凭借其得天独厚的地理位置、成熟的金融市场