HA gearman 作业服务器的最佳实践是什么

2023-12-27

在 gearman 的主页上,他们提到运行多个作业服务器,因此如果一个作业服务器挂掉,客户端可以选择一个新的作业服务器。根据下面的陈述和图表,作业服务器似乎不相互通信。

我们的问题是那些在死亡的作业服务器中排队的作业会发生什么?为这些服务器提供高可用性以确保作业不会因故障而中断的最佳实践是什么?

您可以运行多个作业服务器,并使客户端和工作人员连接到为其配置的第一个可用作业服务器。这样,如果一台作业服务器挂掉,客户端和工作人员会自动故障转移到另一台作业服务器。您可能不想运行太多作业服务器,但拥有两到三个冗余是一个好主意。

Source http://gearman.org/index.php#how_is_gearman_useful


据我所知,目前没有正确的方法来处理这个问题,但只要您使用永久队列运行两个作业服务器(使用 MySQL 或另一个数据存储 - 只是不要为两个服务器使用相同的实际队列),您只需重新启动作业服务器,它就会从数据库加载其队列。这将允许所有排队的任务提交给可用的工作人员,即使在服务器挂掉之后也是如此。

然而,当作业服务器出现故障时,没有自动方法可以执行此操作,因此,如果作业服务器和数据存储都出现故障(本地运行的服务器都出现故障),任务将处于不确定状态,直到它重新上线。

永久队列仅在启动时读取(并在任务提交和完成时插入/删除)。

我不确定向 gearmand 添加此类功能所需的复杂性以及是否确实需要它,但简单的“添加任务、分发任务、完成任务”——服务器之间的通知不应该太复杂而无法处理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HA gearman 作业服务器的最佳实践是什么 的相关文章

  • PySpark ERROR: Python in worker has different version 3.9 than that in driver 3.8

    在wiindows环境下 xff0c 使用PySpark的时候报错 xff1a Python in worker has different version 3 9 than that in driver 3 8 PySpark canno
  • 分布式作业调度、管理和报告

    我最近玩了Hadoop它对 MapReduce 作业的调度 管理和报告印象深刻 它似乎使新作业的分配和执行变得非常无缝 使开发人员能够专注于其作业的实施 我想知道Java领域中是否存在一些对于作业的分布式执行来说不容易表达为MapReduc
  • 在talend中运行并行作业

    我遇到一种情况 我需要在talend 中并行运行五个不同的子作业 问题是 在我的选择查询中 我将获得五个不同的 ID 然后对于每个特定的 id 我需要运行五个不同的作业 tparrallelize 组件的问题是 它不允许我将上下文变量传递给
  • 微服务未在所有 Eureka 实例上注册

    Spring Boot版本 2 1 6 RELEASE Spring Cloud版本 Greenwich SR1 目标是在集群中设置两个Eureka Server实例 并将所有微服务注册到两个实例上 以实现HA 目前我正在运行 Ubuntu
  • Gearman:仍然没有办法从后台工作者检索自定义数据吗?

    首先 我知道this问题 Gearman 将数据从后台工作人员发送到客户端 我想知道 Gearman还是这样吗 我计划将一批图像 URL 从 PHP Web 应用程序发送到 gearman Worker 也是用 PHP 编写的 我们称之为
  • 使用 RabbitMQ 的工作池和多租户队列

    我开发的 Web 应用程序是一个基于多租户云的应用程序 很多客户端 每个客户端都有自己独立的 环境 但都在共享的硬件集上 我们正在引入用户批量处理的功能为后期处理工作 批处理工作的类型实际上并不重要 只是数量足够 没有工作队列就不太实际 我
  • Android JobScheduler onStartJob 被多次调用

    JobScheduler 调用onStartJob 多次 虽然工作完成了 如果我安排一项工作并等到它完成 一切都会很好 但是 如果我同时安排两个或多个具有不同ID的作业 那么onStartJob 调用后再次调用jobFinished 例如我
  • Gunicorn 不会同时处理同时发生的请求

    我正在尝试使用 Gunicorn 及其异步工作人员来服务长时间运行的请求 但我找不到任何可以开始工作的示例 我用了这个例子here http gunicorn org 但在返回响应之前进行了调整 添加了一个假延迟 休眠 5 秒 def ap
  • AMQP/RabbitMQ - 顺序处理消息

    我有一个direct交换 还有一个队列与该交换器绑定 该队列有两个消费者 消费者完成相应的处理后 将手动确认消息 消息按逻辑顺序 排序 并且应按该顺序进行处理 是否可以强制要求消费者 A 和消费者 B 按顺序接收和处理所有消息 换句话说 阻
  • onStartJob 和 onStopJob 无法在 android 中运行后台线程

    实际上我想使用 JobScheduler 进行通知 无论应用程序是否处于活动状态 我是 android 新手 首先只是尝试运行后台 AsyncTask 来检查它是否工作正常 但它不起作用 这是我的 JobService 代码 public
  • Cassandra 牺牲了 CAP 定理的哪一部分?为什么?

    有一个很棒的演讲 https github com strangeloop StrangeLoop2013 blob master slides sessions Kingsbury PartitionsForEveryone pdf关于在
  • MessageBox.Show会导致服务器端超时问题吗?

    我有一个预定的 SSIS 包 其中包含script task in SQL Server Agent在我们的服务器上 我确实设置了timeout对于SQL连接 以及里面的一些代码Try块 它会抛出错误 并且有MessageBox Show在
  • 为什么 Celery 工作人员给出“OSError:套接字已关闭”

    我的与rabbitMQ一起工作的celery工作人员在工作几分钟后不断给我一个套接字错误 见下文 我想知道问题的主要原因是什么 我认为这可能是防火墙 但是 禁用防火墙并没有解决问题 我正在 Windows 10 机器上工作 C Users
  • 如何在 AngularJS 中使用 Web Worker?

    我在用着AngularJS 种子 https github com angular angular seed我想看看 Web Worker 的有效实现 我想让一个简单的 Web Worker 工作以便理解它 但我遇到了功能问题 我的 Web
  • 如何使用 C# 从 IIS 获取当前的 Worker Request 列表?

    我正在为 RESTful Web 服务状态页面编写代码 我想知道是否有办法将当前请求从 IIS 获取到 C 中 我正在使用 IIS 7 0 我想要的信息在下面 IIS gt 工作进程 gt ASP NET v4 0 gt 请求 您可以使用G
  • 需要asp.net中的作业调度程序

    我们有一个网站 需要一个调度程序来在特定时间接收通知 电子邮件 例如 如果有人在下午 5 点设置提醒参加下午 4 45 的会议 则大约会在下午 4 45 收到电子邮件 由于此站点托管在共享服务器上 因此我们无法控制服务器来运行任何 SQL
  • 如何在heroku上的两个不同应用程序之间共享worker?

    我有两个独立的应用程序在heroku上运行并指向同一个数据库 第一个负责user interface第二个为admin interface 我在用sidekiq with redis对于后台作业处理 我添加了一个工作人员 并且可以通过设置指
  • Scavenger:分配失败 - JavaScript 堆内存不足

    这是错误消息 lt Last few GCs gt 2383 0x7efe08001450 6100 ms Scavenge 30 3 39 5 gt 30 5 42 7 MB 73 5 0 0 ms average mu 1 000 cu
  • 如何在运行时创建 celery 队列,以便工作人员拾取发送到该队列的任务?

    我正在使用 django 1 4 celery 3 0 rabbitmq 为了描述该问题 我的系统中有许多内容网络 并且我需要一个队列来处理与每个网络相关的任务 然而 内容是在系统运行时动态创建的 因此我需要动态创建队列并让现有工作人员开始
  • Gearman 工作状态问题

    我有一台 Gearman 服务器正在运行一个需要几分钟才能完成的进程 我正在运行一个进度条来显示完成情况 并尝试使用 Gearman PHP 扩展和 jobStatus 函数获取进度条的百分比 该作业肯定处于活动状态并已找到 因为前两个字段

随机推荐

  • 计算阶乘结果的数字尾随零

    我正在尝试计算由阶乘产生的数字的尾随零 这意味着数字变得非常大 以下代码采用一个数字 计算该数字的阶乘 并计算尾随零 然而 当数量大约为25 numZeros 不起作用 public static void main String args
  • 字符串排序顺序(LC_COLLATE 和 LC_CTYPE)

    显然 PostgreSQL 从 8 4 版本开始允许每个数据库使用不同的语言环境 所以我去文档阅读有关语言环境的信息 http www postgresql org docs 8 4 static locale html 字符串排序顺序是我
  • 未找到 JNI_Onload() 且 VM 关闭

    我是安卓新手 我按照链接上的说明进行操作http marakana com forums android examples 49 html http marakana com forums android examples 49 html使
  • 如何使用另一个 XML 文件中的属性值作为当前 XML 中的元素值选择

    我有两个 XML 文件 一个是主 XML 文件 另一个用作查找表 这是主要的 XML
  • Kubernetes 中 subPath 和 mountPath 有什么区别

    我正在尝试将volumeMounts 中的文件添加到 dockerignore 并尝试了解subPath 和mountPath 之间的区别 阅读官方文档对我来说并不清楚 我应该从我读到的内容中添加 mountPath 是 pod 中将挂载卷
  • 如何使用 Jackson 解析不合格的 JSON 数组?

    因此 我正在访问第三方 API 它为我提供了这个 JSON 对象 但我花了很长时间试图找到一种使用 Jackson 解析资源子对象的优雅方法 我假设我必须编写一个自定义反序列化器 尽管我想知道是否还有其他方法 somekey someval
  • XSLT 节点值比较

    如何将 IP 地址与家庭和姓名参考进行比较 使用 XSLT 文件 在详细信息中 我有一个 xml 文件 其中包含操作员站节点列表 每个操作员站都有其唯一的信息 因此 通过将第一个操作员站节点视为主站 比较所有剩余的从属操作员站信息 首先需要
  • HTTP 持久连接

    尝试使用 Linux 套接字接口用 C 语言实现一个简单的 HTTP 服务器时 我在我希望它具有的某个功能 即持久连接 方面遇到了一些困难 使用单独的 TCP 连接一次发送一个文件相对容易 但这似乎不是非常有效的解决方案 例如考虑多次握手
  • 字符串常量池中的 new String("") 会发生什么

    如果我创建一个字符串对象 String s new String Stackoverflow 将只在堆中创建 String 对象 或者也在 String 常量池中创建一个副本 提前致谢 如果调用 则只能将字符串放入常量池中intern或使用
  • 为什么 Moq 不运行重写的 ToString 方法?

    在下面的代码中为什么mockTest ToString 返回Null 编辑 在示例代码中添加注释以显示如何解决问题 Public Sub Main Try Dim test New TestClass If test ToString lt
  • 如何给Python程序添加暂停模式

    我已经开发了一个 Python 代码 正在寻找改进以及如何添加暂停选项 尽管我不知道更简单的方法 但我还是一遍又一遍地重复完全相同的行 import math pygame random sys turtle from itertools
  • mapView 已弃用方法 getZoomControls?

    我正在尝试让默认缩放控件显示在谷歌地图视图上 我在看this http mobiforge com developing story using google maps android代码 但 getZoomControls 已被弃用 我尝
  • WinRT 投影类型文档

    有一种东西叫做预测类型在 WinRT 中 例如 在元数据中 IXamlType UnderlyingType定义为 TypeName UnderlyingType get 然而 当在 C 应用程序中使用时 它会发生如下变化 Type Und
  • 自定义 Flask 管理行操作

    我想在烧瓶管理列表视图上的编辑和删除图标旁边添加另一个按钮 此外 我想将该行数据作为发布请求发送到路线 我知道我必须编辑admin model list html模板 但我不知道如何添加此功能 你能提供任何指导吗 您需要为您的视图定义自定义
  • 如何使用 Typesafe Activator UI 在开发模式下运行 play 项目

    我正在使用 Typesafe Activator 1 2 10 我使用模板 play scala 中的 activator ui 创建了一个新项目 当我单击开始时 游戏正在产品模式下运行 我想在开发模式下运行它 如何使用 activator
  • 将单元格位置字符串解析为行和列

    i have string col AB21 这是 Excel 单元格位置 我想将其解析为string column AB int row 21 我怎样才能做到这一点 string col AB21 int startIndex col I
  • x86指令编码表

    我正在重写我的汇编程序 同时我也对实现反汇编感到好奇 我想让它变得简单和紧凑 并且在这样做时我可以利用一些概念 可以从操作码确定 x86 指令编码的其余部分 也许也需要前缀字节 我知道很多人都写了表格来做到这一点 我对助记符不感兴趣 而是对
  • 为什么append修改传递的切片

    我如何迭代切片并将切片传递到除当前元素之外的某个位置 似乎append 正如我们在文档中看到的那样 函数修改了底层切片 但无论如何我仍然不知道如何达到这个目标 func main args string 2 3 8 for i range
  • Pandas - Groupby 并创建新的 DataFrame?

    这就是我的情况 In 1 data Out 1 Item Type 0 Orange Edible Fruit 1 Banana Edible Fruit 2 Tomato Edible Vegetable 3 Laptop Non Edi
  • HA gearman 作业服务器的最佳实践是什么

    在 gearman 的主页上 他们提到运行多个作业服务器 因此如果一个作业服务器挂掉 客户端可以选择一个新的作业服务器 根据下面的陈述和图表 作业服务器似乎不相互通信 我们的问题是那些在死亡的作业服务器中排队的作业会发生什么 为这些服务器提