例如:如何保证在热门线路的车票发售不会出现超售的情况。能否解释下联网售票和移动支付时的业务逻辑,并说明系统如何控制并发需求的资源分配。
收起联网售票和移动支付时的业务逻辑就是要保证数据的一致性,就是在保证有剩余票数的情况下,才可以完成下单和支付。
为了控制并发需求的资源分配,可以有多种处理方式。
1、采用负载均衡设备,对高并发访问进行同时处理,针对不同的访问进程设置优先级,优先级高的可以正常下单完成支付,对于优先级低的进程返回下单失败。
2、随机选择有效的下单请求,达到可售票数量后即可终止请求。
3、采用排队机制,按照访问时间顺序,每次只处理一定数量的连接请求,处理完毕后不再接受新的连接请求。
以上无论采用哪种方式,都需要保证订单数量不能超过余票数量,已经成交的订单需要保留一定的“锁定时间”完成支付,超过支付时间再将余票资源释放出来。