我有一个服务器集群,它们将运行一个ruok
带有故障转移的简单命令。该命令将很简单,例如curl -X POST http://foo.com/status
. 由于我将在此池中拥有 3 到 300 个节点,因此我想确保此命令仅每十分钟发出一次。我遇到了一个问题,我不能只向我的服务器添加一个 crontab,除非我希望它们都每 X 分钟发出一次。
我开始考虑使用HashiCorp Consul,因为它具有相当高的可用性并且看起来比etcd
or更容易Zookeeper
。我不知道如何实际创建可以做到这一点的东西。
我将在所有服务器上使用此脚本
#!/bin/bash
curl -i -H "Accept: application/json" \
-H "Content-Type:application/json" \
-X POST --data '{"status":"ruok"}' "https://foobar.com/status"
那么我将如何编写 Consul 以便在节点池中运行一次呢?
你可以用这个。
刚刚用谷歌搜索“使用领事的分布式 cron”。