作品详情

项目名称:支付人POS机代理平台
项目背景:
支付人自研POS机代理平台,通过直接对接POS机支付公司,为POS代理商提供稳定POS产品来源及及时的市场政策,方便代理商进行展业及基于平台APP进行个人业绩及团队业绩进行管理
项目职责:
项目中担任核心研发人员角色,参与整体系统架构改造,独立负责商城业务板块、设备业务板块以及分仓业务板块的设计与研发
项目描述:
系统采取SpringCloud技术选型,根据业务功能点划分为用户系统,商户系统,商城系统,设备系统,商机系统,分仓系统、数据系统。
Redis提高系统读性能,并采取Redis主从+Sentinal 架构来确保Redis的高可用高并发。以及Redission 实现分布式锁,来解决商品下单、订单发货自提等并发冲突问题。
基于RocketMQ的可靠消息最终一致性方案实现分布式事务,来保证设备划拨,平台订单发货,分仓自提等功能的数据一致性,MQ延时消息机制处理订单超时未支付问题。
httpclient实现POS机厂家接口调用,并结合RocketMQ的使用实现流水等数据的接收并异步实现流水分润,个人业绩,团队业绩的结算,订单支付成功和订单发货后的消息推送。
新品促销活动采取方案多级缓存NGINX + Redis + 商品详情页系统,因为新品促销产品组合较少,基本可以确保读并发可以走缓存,hystrix线程池实现资源隔离,商品下单采取Redis+Redission实现分布式锁来处理并发冲突和防止商品超买,订单支付后的用户消息推送分仓自提订单采取RocketMQ来实现解耦和异步处理。
技术架构:SpringCloud + Maven + Git + RocketMQ + Redis + Mysql + Nginx
项目挑战及解决方案:
问题一:单工程架构负载过高,二次开发历史性问题较多
方案:系统重构,l技术老大主导,开发小组结合公司业务进行整体性评估,决定针对系统进行技术架构改造,使用springcloud作为微服务技术选型,并柔和相关技术,并针对系统架构进行高可用的架构设计。
问题二:系统性能抖动导致订单支付人成功回调回调失败导致订单重复支付
方案:订单支付人流水增加paying支付中状态,重复支付时如果是支付中状态则主动请求订单交易查询接口获取支付结果。
问题三:数据库重构后的数据迁移
方案:最开始方案是使用ETL工具做数据迁移,但是要写较多的表合并和转换逻辑,处理起来比较麻烦,后面决定采取自研数据迁移子系统来实现数据库整体数据的迁移及新增数据实时同步。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论