一, ETS灵工平台高可用,高并发常见下开票业务规划设计开发
业务特点:
1,下游服务(第三方开放平台)TPS(30)低
2,服务瞬时请求量大,单用单次操作(10w+批量开票任务)
3,保障服务高可用,任务不丢失,用户体验高
业务架构实现:
模块划分,任务采用异步提交处理,核心业务拆分规划,定义核心任务执行组件,接收器,扫描器,执行器。
任务发起时,接收器接受任务后,先将开票请求db持久化,持久化成功后计入缓存队列(基于redis的无界任务队列),同步针对任务设置计数器,总任务数,成功数,失败数,成功后直接客户端返回交易批次号,
采用分布式定时任务进行任务扫描,为了防止任务丢失,采用LUA脚本进行任务拉取,拉出后同步放入队尾保障任务不丢失,拉出任务采用异步执行(通过MQ执行队列进行流量事务控制,减少对下游服务的压力),任务执行成功后同步移除缓存队列中的任务,(期间采用分布式锁保障任务不被重复执行)
执行队列客户端收到消息后进行相关业务操作,同步将任务移除,增加任务计数器等操作