A1,但是此时存储数据v的服务节点A1并未从服务A同步到最新的数据v,此时客户端读取到数据v并非是最新写入的数据,导致读取数据结果不一致.这个时候为了保证数据的一致性,就需要要求服务节点A在接收到数据状态变更的同时也需要向集群服务中的冗余服务节点发起数据同步操作...,其中有一个参与者服务节点产生不可用的情况,这个时候参与者节点将无法接收到提交或者回滚信息,那么这个时候就会产生数据不一致.
2PC的整体流程总结
?...对于协调者而言,如果正确接收到预提交请求的ACK响应,那么这个时候将会执行请求提交到参与者节点;如果没有接收到ACK的响应抑或是网络超时问题,将会直接丢弃当前的事务操作....那么就执行撤销回滚操作并将锁定的资源回收到资源池中来保证整个分布式事务的ACID,如果返回都是Success,那么就执行确认操作释放锁定资源.最后将操作结果以消息的形式分发到各个子服务节点上
子服务节点接收到主服务节点的事务确认或者回滚消息...,可以考虑在nginx中进行限流然后将超出的流量直接放回抢购失败;抑或是在应用服务中的线程池中将任务添加到阻塞队列中,如果队列满了可以考虑直接丢弃任务策略.