1、当时在2017年,阿里内部想做一个基于用户的运动数据来兑换成积分(卡路里币,卡币),并基于该积分设计一系列玩法,撬动用户流量。
2、产品的主要逻辑是将用户的运动数据,转换为运动银行中的卡币,代表用户的运动储备。卡币作为阿里体育基础的积分体系,可以用来兑换多种权益与优惠,激励全民运动。
3、入驻支付宝、淘宝、钉钉等客户端;在8月8日“全民健身节”中,因活动效果好曾获公司嘉奖。
点击空白处退出提示
1、当时在2017年,阿里内部想做一个基于用户的运动数据来兑换成积分(卡路里币,卡币),并基于该积分设计一系列玩法,撬动用户流量。
2、产品的主要逻辑是将用户的运动数据,转换为运动银行中的卡币,代表用户的运动储备。卡币作为阿里体育基础的积分体系,可以用来兑换多种权益与优惠,激励全民运动。
3、入驻支付宝、淘宝、钉钉等客户端;在8月8日“全民健身节”中,因活动效果好曾获公司嘉奖。
1、步数兑换卡币:产品的首个功能。接入支付宝步数数据,按产品规则计算应得卡币数,实现用户查询与领取卡币的业务逻辑。
2、通用的卡币更改服务:一套代码逻辑用于不同类型业务的用户卡币增(直接发放、待领取)减(直接扣减、冻结扣减)需求,服务集团内外近百种业务,稳定可靠。
3、卡币规则层建设:集中式管理业务兑换卡币的规则,通过配置脚本,实现灵活的业务数据换算卡币的逻辑。
4、卡币业务接入管理:开发卡币业务配置管理后台,解决新业务接入时繁琐的人工流程,实现业务接入功能的产品化,并拥有全面的权限、业务规则管控。
5、卡币冻结项目:实现卡币扣减时的冻结与解冻功能,完善卡币中心的功能,支持更多业务类型。
6、卡币待领取项目:完成卡币待领取功能,实现卡币玩法的升级,带来用户参与度与黏性的提升。
7、卡币数据查询:提供全面、多类型的用户卡币信息查询服务,满足不同业务需求。
8、数据报表:对用户、卡币数据进行统计、处理,制作成可视化报表,提供给相关人员查看。
1、从 0 开发阿里“运动银行”产品。作为产品的后端开发负责人,负责服务端系统关键部分的设计和实现。
2、项目采SpringBoot+MyBatis,数据库用MySQL,引入了缓存与统一配置中心,多实例部署,分担用户流量。
3、升级后端架构:业务发展到一定阶段后,按业务领域拆分应用与数据库,主导分库分表的方案设计与实现,解决单库单表性能瓶颈,确保服务的高可用性。
4、利用缓存系统提升性能:为频繁查询的数据添加缓存,减轻数据库压力;根据业务需要引入不同的缓存类型,采用合适的类型(持久化与非持久化),满足服务性能与数据持久性的不同需求。
5、分布式锁+事务,保证数据准确性:采用缓存中间件,实现具有过期时间、失败重试、可重入机制的分布式锁,对关键资源添加分布式锁,保证正确性;利用数据库的事务管理,确保多次写操作保持原子性,保证数据的完整性与一致性。
6、性能测试改造:为了避免对真实业务数据的污染,以及繁杂的数据清理工作,走通压测中引入影子表+精卫数据同步的链路,提高压测支持的效率,并产出详实的压测支持文档供团队其他同学使用、参考。
7、其他:修复跨库事务问题,并总结文章以备他人参考;治理线上查询的慢SQL;根据系统性能对应用设计降级、限流方案,保证应用的安全与可用;线上JVM问题排查等。






评论