昆明书城项目是公司给昆明新华书店开发的在线购书系统,项目分管理前端、用户前端和后端微服务;用户前端主要实现书籍预览、购买、配送等功能,管理前端主要是实现书籍发布、库存更新等功能;
我在项目中主要担任技术架构设计及支付业务开发,技术架构实现包括:统一认证中心、服务的高并发技术实现、分布式事务处理方案、服务流控降级方案,订单消息的可靠性投递方案的开发与设计;业务开发包括:会员注册以及支付接口的开发;
项目架构及技术难点:
1、使用springOauth2实现微服务的统一认证,认证模式为密码模式;
2、在gateway网关层实现统一服务入口,并实现用户的身份校验;并集成sentine实现服务流控与降级,实现流控规则的持久化配置与统一的服务流控异常处理方案;
3、使用seata处理会员注册时将会员信息同步到Oauth2认证库,提供分布式事务方案;
4、请求利用rabbitMQ延时消息+确认与回调机制实现订单消息的状态更新,确保消息发送到MQ,并检查订单是否支付及是否支付成功;对于发送到MQ失败的消息,利用定时任务重新发送,确保消息不丢失;
5、使用redis热点数据的缓存、分布式锁方案、并结合