他们三个人没想到陈景已经把这个事情想的这么透彻了。
赵圆圆顿了一下,把马克笔换到另一只手上,在白板上把陈景说的全部画了出来。
陈景则是在“群红包”下面画了第三条支线。
“还有一个维度需要考虑,红包类型。”
“一种是等额红包,每个人抢到的金额完全一样,适合正式场合。”
“一种是拼手气红包,总金额随机分配到每个红包,金额有多有少,抢红包的过程有游戏性,更适合日常娱乐。”
“这个游戏性,就是你不知道下一个红包里有多少钱,才是红包功能的真正钩子。”
“需要点击一个开字按钮,才能知道多少钱,这就是多了一层含义。”
“就是不知道这个底层架构怎么做。”
这个时候,大家开始深入讨论。
陈景毕竟不知道专业术语,只能把自己的话说给他们听,让他们去翻译成专业术语。
王一凡把所有东西都记下了,旋即把笔记本电脑推到一边,站起来走到白板前面,从赵圆圆手里接过另一支马克笔。
在“群红包”旁边画了个技术架构的简要拓扑图。
他的字迹还是一如既往地工整,每一条线都画得笔直,不同模块之间用不同颜色的箭头连接,看上去像是直接从系统设计文档里拓下来的。
“底层架构分四层。”
“前端交互层,负责红包卡片的动画渲染、点击领取的交互逻辑、金额展示的实时刷新。”
“移动端需要做两套,iOS用Object-C写原生界面,安卓用Java写,两套代码同步开发,工作量翻倍。”
“P业务逻辑层是核心,需要处理的事包括红包的创建规则,个人红包一对一、群红包一对多。”
“金额分配算法,等额红包就是总金额除以个数,拼手气红包需要用二倍均值随机算法,先设定每个人能抢到的最大金额为剩余金额均值的两倍,在这个范围内随机分配,既能保证每个人都有机会抢到较大的金额,又能确保总金额不会超额。”
“领取状态同步,同一个红包不能同时被两个人领取,需要在高并发环境下保证数据一致性。”
“还有超时退款机制,红包发出后规定时间内未被领完,剩余金额自动退回原账户。”
“数据存储层。”
“红包订单表,记录每笔红包的唯一ID、发送者账户、金额、个数、类型、群ID、创建时间、过期时间。”
“领取记录表,每条领取记录绑定对应的红包ID,包含领取者账户、领取金额、领取时间戳。”
“账户余额变动表,每一次发红包的扣款和领红包的入账都需要记录流水并实时更新账户余额。”
“数据量方面,红包是典型的高频小额交易,假设同时在线用户数达到某个量级。”
“其中一部分用户同时发红包,每个群红包又对应多个领取动作,数据库每秒需要处理的事务量会很大。”
“需要做读写分离,主库负责写入红包订单和领取记录,从库负责查询红包状态和领取详情,减轻主库压力。”
这些都是陈景的话翻译的。
王一凡也不愧是目前最强技术人员。
很快就把这些东西消化了。
“安全层。”
“资金安全方面,对接第三方支付接口,用户支付时调用支付扣款,用户领取后资金转入账户钱包,涉及资金流转的全部链路都需要做防篡改校验。”
“传输安全方面,所有跟红包相关的请求全部走加密协议,防中间人攻击。”
“反作弊方面,关键来了。”
王一凡推了推眼镜,拿笔在“反作弊”三个字上用力画了个圈。
“红包系统天然是羊毛党的重灾区。”
“如果有机器人号批量注册、自动抢红包,普通用户根本抢不过。”
“需要把我们的反作弊行为分析引擎接入红包系统,同一设备短时间内领取多个红包、同一IP地址大量账号同时在线、注册时间集中在某个时间段的批量账号,这些异常行为模式都会被行为分析引擎捕捉到,自动触发验证或封禁。”
“这部分反作弊引擎已经跑通了,直接复用,不需要额外研发。”
王一凡退回座位,把马克笔搁在桌上,拿起水杯灌了一口,然后靠在椅背上把眼镜摘下来用衣角擦了擦。
这就是几个小时讨论得下来的结果。
关雷从角落的椅子上站起来。
他负责前端开发,在游戏和网站端写过太多交互界面,对用户端的工作量心里有本账。
他走到白板前拿起马克笔在王一凡画的架构图下面打了个大括号,开始逐一列出需要投入的时间和资源。
最后得出一个结论。
“这个不需要花多少钱,大概一两百万左右。”
陈景没想到才这么点钱,那就直接做了。
赵圆圆这个时候说道,“那我们寻知刚好是有好友系统的,如果能互加的话,可以增加银行卡的绑定以及流水。”
“到时候我们说不定能做一个跟支付宝一样的东西。”
听见这话,大家心里还燃起了一股斗志。
但是陈景说的话,像是泼了一盆冷水。
“寻知可以先不上。”
“我们自己平台的用户量虽然不小,但红包这种东西不是功能好就有人用,它需要社交关系链。”
“一家人抢红包的前提是这一家人都在同一个平台上。”
“寻知目前的用户关系链偏内容社区,熟人社交这块还没建起来。”
“红包系统做出来之后如果在寻知上首发,效果不会差但也不会特别好,用户之间本来就没什么需要发红包的场景。”
赵圆圆有些懵了,既然做了这个系统,但是不用,那用在哪。
其他的软件跟游戏完全没有使用场景啊。
“老陈,什么意思,没太听懂。”
王一凡也有点不理解,陈景说了这么多,结果不上,是怎么想的。
陈景看着三个人都是一脸懵的状态,笑了笑,说道。
“我们不自己用,但是可以卖。”
“我打算卖给腾科(tenxun)。”