【dubbo】分布式系统中的接口调用如何保证顺序性

2020/09/01 07:16
阅读数 322

一、分布式系统接口调用顺序性

                              

      现在有个需求,要求保证的是请求1先执行->请求2后执行->请求3最后执行。

      如上图所示,如何保证顺序性呢?

                            

      通过一致性hash算法,能够保证orderID一致的分发到同一台机器上。

      那么,对于一台服务器,如何保证按照顺序执行呢?

                                                       

     可以设置内存队列queue。请求1、请求2、请求3依次进入队列。用同一个线程依次取出进行消费。

     这种办法虽然不能保证100%的顺序性,比如分发到服务器A上的请求顺序变了。变成请求2、请求1、请求3。基本能保证99%的可用性。

二、基于分布式锁

       要保证100%,只能基于分布式锁。不建议采纳,性能很差。如果这个系统面向终端用户,则最好再加个MQ。

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部