Parece que o Apache Zookeeper ou a alternativa mais leve Noah (se você quiser a interface RESTful) pode caber aqui. Além disso, existem mais serviços alternativos de registro / pesquisa na natureza, e parece ser a solução apropriada para o seu caso.
As ferramentas de gerenciamento de configuração também podem ser usadas aqui (se você ainda não estiver usando uma). As ferramentas de gerenciamento de configuração de código aberto mais populares são Chef , Puppet e Cfengine .
Por exemplo, usando o Chef, você pode procurar informações necessárias na sua receita:
db_slaves = search(:node, 'mysql_server_role:slave')
db_slaves.each do |slave|
# execute something ...
end
Este é um exemplo de como usar o recurso de pesquisa do Chef para coletar todos os escravos do banco de dados conhecidos pelo chef-server e, em seguida, fazer algo com ele.
Você também pode ter funcionalidades semelhantes em outras ferramentas de CM mencionadas (as técnicas exatas podem ser diferentes).