提交订票订单的处理流程如下:
1)用户通过浏览器访问系统URL
2)界面集群F5将请求转发至某一节点,通过比较用户数据库的内容进行身份鉴权。
3)鉴权成功后进入订票,提交订票订单(查询流程暂不讨论)界面显示请等待
4)订票消息被发送至总线部件(接口可用web Service、RMI、甚至自定义协议都可以)
5)总线收到订票消息、去Cache集群查询相关车次
6)Cache根据自身维护的车次余票表,返回查询结果,如果有余票,转7)。如果无票了,则总线返回界面集群“没票了”,界面提示用户明天再试。
7)若有余票,则总线返回界面集群“正在出票,请等待”,并将订票请求压入队列。且发消息至Cache,告诉CACHE将订票请求加入队列。
8)Cache收到总线队列增加1个的消息,将自身维护的对应车次余票数减1个。
9)总线另一线程负责从队列中取消息,并发送至出票部件。
10)出票部件产生订票结果,并修改数据库,发送“订票成功”消息回总线。
11)总线将订票成功消息直接回传至界面集群。
12)用户看到订票结果。