多个gearman 服务器可以通过libdrizzle共享同一个gearman队列吗?
我想知道这是否会消除gearman服务器作为单点故障——如果我有多个web节点,每个节点都与同一个gearman服务器通信,那么如果gearman不可用,网站就会死亡。但是,如果每个web节点都运行自己的gearman服务器(由该节点生成的作业排队到运行在同一节点上的gearman服务器),那么单点故障就会转移到数据库中。(在我们的体系结构中,这是一个单点故障。)
No。该队列仅在内存队列失败时用作备份(如果Gearman死亡,作业仍将存储在数据库中)。持久队列只在启动时读取,在作业处理期间不读取。
这并不意味着你不能有两个Gearman服务器,并将这两个服务器都添加到你的客户端和工作器中(这样工作器就可以在两个服务器上注册),并以这种方式实现冗余。我不能说我最近有一个gearman服务器死在我身上,但你至少会得到一个额外的故障安全级别。