如何在分布式的环境中实现资源轮流分配的过程.

比如把 a分配给A ,b分配给B ,c分配给A ,d分配给B ,如此根据a b c d 不断的增长来不断的进行分配操作.

我的想法:

  1. 在A的表中给一个字段,每次分配资源的时候根据这个字段进行判断是否分配给他.

  2. 利用缓存或者其它的做一个全局变量来标记下一个需要分配的变量,分配的时候就直接利用这个全局变量,进行分配.

总感觉这些办法都不是很好,大家还有其它的办法来优雅的实现吗?或者以上的办法会出现的问题.

PS:我是新手,不懂太深奥的东西,讲的易懂就好.

阅读 2.9k
2 个回答

第二种方法可以,全局标记下a,b,c,d,e...的资源顺序,然后取模就可以了,比如mod 2,为1分为A,为0分给B。

新手上路,请多包涵

感觉你要的就是一个HashMap啊。

map.put(A, a);
map.put(B, b);
...
map.put(N, n);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题