首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java分布式任务

Java分布式任务
EN

Stack Overflow用户
提问于 2015-11-26 14:18:35
回答 1查看 155关注 0票数 4

我正在构建由3台服务器组成的系统,并在所有3台服务器上运行相同的Java (Spring )服务。服务将能够完成3类任务,即A、B和C。

我想要的是使服务器上的每个服务在与其他服务器通信时只执行一个类别。如果一台服务器死了,其余的服务器应该协商,其中只有一台应该属于类别。

示例:

  1. 服务器1-服务执行A 服务器2-服务执行B 服务器3-服务做C
  2. 服务器2死亡 服务器1和服务器3协商 服务器1-服务做A和B 服务器3-服务做C

如果服务器2返回正常状态,则应从服务器1 (A或B)获取类别

有什么模式,架构,技术,链接可以帮助我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-26 15:36:52

Zookeeper特别适用于在分布式环境中处理这些类型的场景。通过获取一个锁,将从N个服务器中选出一个主服务器。一旦主人去世,它将导致重新选举和新的主人将服务客户的要求.

其他更容易出错的方法是自己实现共享的全局分布式锁,并处理角落情况。获取锁的服务器将为客户端请求提供服务。

来自动物园管理员文档页面:

ZooKeeper是一个集中服务,用于维护配置信息、命名、提供分布式同步和提供组服务。所有这些类型的服务都以某种形式被分布式应用程序使用。

您可以在动物园饲养员概述页面中找到更多详细信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33940924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档