这是一家主打共享二轮电单车业务的科技公司。最初入职的是PBS业务组,主要业务是给签约服务商提供一套saas系统服务,帮助其快速、简单地运营自己的共享二轮电单车品牌。这个阶段,我主要负责账户系统的拆分重构。
后因公司业务调整,放弃PBS业务,被分配到了交易支付组。交易支付系统分为计价、交易、账户、支付四个模块,一开始我参与到了计价模块,一起帮助建立起一套高效、稳定的计价服务。
之后参与账户模块的建设,对账户服务的基础能力进行重构,包括账户入金、出金、冻结、解冻、核销等能力,对账户业务能力与底层基础能力进行解耦,使得其结构更加清晰。同时对账户相关大表进行拆分优化,降低其系统风险性、提高系统响应能力。
项目中使用的java版本为jdk8。
主要使用的框架有spring-cloud、spring-boot、mybatis、sharding-jdbc、druid、redisson、xxl-job、pageHelper、logback。
数据库使用的是mysql,采用的是一主两从的集群配置。
tidb主要是给mysql分表做同步使用,采用的是阿里巴巴的canal组件监听mysql的binlog的方式进行增量同步。多个mysql分表对应一张tidb表,方便b端业务的数据查询与日常数据查询需求等。
redis提供缓存和分布式锁两种能力。
rocket-mq主要应用场景为系统间的解耦、数据迁移时处理大量迁移任务等。
es主要用来存储系统日志,通过kibana方便日志查询和错误定位。