大麦pro后台管理介绍
在大麦pro介绍的第一个章节中,介绍了大麦pro版本的新功能,解决了很多架构方面,各种中间件宕机,数据一致性的难题
当这些复杂的问题出现时,大麦pro项目也都做好了记录,能够很直观的看到问题出现的时间、问题出现的现象,问题出现的原因等
线上体验
可以选择 “周杰伦演唱会” 的节目进行线上体验查看相关数据:

关键数据的实际监控
除了做好关键步骤的记录过程,还需要能实时的查询项目中热点数据,关键数据的状态,比如:
-
数据库中的座位状态和Redis中的座位状态是否一致?
-
数据库中的余票数量和Redis中的余票数量是否一致?
-
数据库中的订单生成过程和Redis中的生成订单过程是否一致?
-
数据库中的订单最终状态和MQ消息队列中的订单最终状态是否一致?
-
当发生了数据不一致后,进行自动补偿时,是否成功?是否延迟?
-
。。。 。。。
这些数据的监控和查询,都是非常重要的,毕竟是一个分布式的系统,任何一个环节出现问题,都可能会导致数据不一致。
所以大麦pro项目中,专门开发了一个后台管理系统,来对这些关键数据进行实时的监控和查询。
节目列表
-
根据 区域、分类、子类 来查看对应的节目列表
-
点击 查看余票详情 ,可以查看对应节目的余票数量(数据库、Redis)
-
点击 查看记录详情 ,可以查看对应节目的座位状态(数据库、Redis)
查看余票详情
此处可以查看此节目的余票列表,每个票档下的 价格、余票总数量、数据库中余票数量、Redis中余票数量
查看记录详情
-
显示此节目下每笔订单的执行详情,对账的状态,包括:未对账、对账完成有问题、对账完成没有问题、对账有问题处理完毕
-
显示每笔订单下的购票人订单执行详情,包括:每笔的执行记录、每笔的操作信息:数据库,Redis、座位状态的变更:数据库,Redis
-
显示每笔订单下的购票人订单的对账状态,包括:未对账、对账完成有问题、对账完成没有问题、对账有问题处理完毕
订单列表
先选择好对应的节目,然后可以显示此节目下的订单列表
当订单列表显示时,可以点击每笔订单,会展开具体的这笔订单下的每个购票人订单的详情
废弃订单列表
同样也需要先选择好对应的节目,然后可以显示此节目下的废弃订单列表
- 当发生MQ消息队列(项目中是kafka)发生延迟消费,或者对数据库进行余票扣减失败后,都会将这笔订单记录到废弃订单中
- 在查看废弃订单中,可以查看这笔订单下的每个购票人订单的详情,方便观察具体的原因
MQ消息记录列表
大麦pro为了保证高并发功能的特点,很多的业务都会异步的来执行,所以对于MQ消息中间件的使用是比较多的,而对于MQ的每一处使用 都要知道消息执行是否成功?
MQ消息中间件存在的问题:
- 消息发送失败了,怎么办?
- 消息发送成功了,但丢失了怎么办?
- 消息发送成功了,但消费者没有消费到,怎么办?
- 消息发送成功了,消费者消费到了,但执行异常了,怎么办?
- 消息发送成功了,消费者消费到了,执行成功了,但数据不一致,怎么办?
对于上述的这些问题,大麦pro中的每个MQ的关键步骤,都会记录下来,方便自动补偿和及时的查看
同样也需要先选择好对应的节目,然后可以显示此节目下的MQ记录列表
未对账的MQ消息记录:
通过此列表,可以看到每笔MQ消息的 消息类型、消息主题、消息内容、发送状态、消费状态、对账状态
一开始的记录状态是 未对账 ,表示这笔消息还没有进行真正的确定,不知道到底是否成功
对账有问题的MQ消息记录:
当系统自动的执行确定发生有问题后,状态会变成 对账有问题 ,就自动通知相关人员,可以选择自动或者手动处理
对账完成没有问题的MQ消息记录:
当系统自动的执行,或者人为的处理,确定了没有问题后,状态会变成 对账完成没有问题 ,表示这笔消息已经成功了