4

多个 gearman服务器可以通过 libdrizzle 共享同一个 gearman 队列吗?

我想知道这是否会消除 Gearman 服务器作为单点故障的情况——如果我有多个 Web 节点,每个节点都与同一个 Gearman 服务器通信,那么如果 Gearman 不可用,该站点就会死掉。但是,如果每个 Web 节点都运行自己的 gearman 服务器(并且该节点生成的作业排队到在同一节点上运行的 gearman 服务器),那么单点故障将转移到数据库。(在我们的架构中,这无论如何都是单点故障。)

4

1 回答 1

3

不可以。该队列仅在内存队列失败时用作备份(如果 Gearman 死了,作业仍将存储在数据库中)。持久队列仅在启动时读取,而不是在作业处理期间读取。

这并不意味着您不能拥有两个 Gearman 服务器并将这两个服务器添加到您的客户端和工作人员(以便工作人员在两个服务器上注册)并以这种方式具有冗余。无论如何,我不能说我最近有一个齿轮人服务器死在我身上,但你至少会获得额外的故障保护。

于 2011-09-30T18:44:09.673 回答