찾다

 >  Q&A  >  본문

集群环境下多机器间进行同步操作有什么可选的解决方案?(最好用伪代码写出关键部分)

集群环境下多机器间进行同步操作有什么可选的解决方案?(最好用伪代码写出关键部分)

补充说明问题:比如有一个创建订单的API,同时到达集群中的多台机器上。如何保证只能有效的生成一条订单数据。


高洛峰高洛峰2925일 전699

모든 응답(3)나는 대답할 것이다

  • 三叔

    三叔2016-11-11 13:49:39

    当然是消息队列来保证只有一台服务器处理

    회신하다
    0
  • 欧阳克

    欧阳克2016-11-11 13:49:32

    这个是不是要有个分发的过程啊,前面有个前置机,专门做请求转发,自主分发到不同的服务器上

    회신하다
    0
  • 三叔

    三叔2016-11-11 13:49:19

    不要把思维受限于集群系统,想想当时做这个集群主要是为了应对什么问题?

    假设你的生成订单以及订单数据操作没有那么大的负载的话,为什么不剥离出一个订单的服务,然后集群中的所有前端都统一调用这个服务来生成订单,这样就简化了整个流程,等这个服务负载达到一个数量级的时候,再单独给这个服务进行优化,比如加入一个队列,先让数据进队列,然后前端等待轮询检测是否生成订单,然后再提示订单生成成功

    只提供一个思路,这个伪代码我不知道如何给你,感觉顺着这个思路,已经比较清晰了


    회신하다
    0
  • 취소회신하다