一、背景
技术栈:Redis+Lua
双十一,一个属于电商而不是属于运营商的节日,然鹅无奈还是被安排了值班,零点过后支付系统流量上升了一波持续了半小时然后稳定运行没啥问题,本着认真负责的态度还是坚持个通宵吧,不知干点为了让自己不瞌睡,想到了平时最容易失眠的方法,想业务实现,于是想了下白天产品同学的需求:增加商户维度的交易额度限制,无聊扒了下系统已经实现的渠道维度的交易限额代码,看了下.....没看完,实在看不下去了,曲线救国,绕的圈有点大,不明觉厉吧,于是自己写了下。
二、分析实现
1.分析
限额分很多维度,有通道级单笔限额/累计限额、日累计限额/笔数、月累计限额/笔数,交易类型级...等等。限额一般是支付路由系统的一个规则条件,这些维度一般是根据对接的支付渠道限额进行调整配置自己系统限额,当然你也可以为自己平台商户做限额,产品需求也就是为自己平台商户做限额,那么我们就清楚了产品想要什么了,接下来如果做的话会就是怎么去做的问题了。
支付类系统,在运行时候对中间件和其他系统的依赖,包括和数据库的交互次数越少越好,本着这个原则,首先考虑此数据应该存哪里,又将以怎样的数据结构存储,限额仅作为支付的一个很小的逻辑,