我有一个服务器集群,每个实例都需要了解整体系统状态。
基本上我需要的是一个查找服务......
- 存储基本服务配置,例如数据库主/从地址等。
- 允许客户端注册他们的信息(ip,角色,状态等),以便其他客户端可以找到它们。
由于我是服务器开发/管理方面的新手,我应该从哪里开始研究?哪些技术合适?有没有更好的解决方案来解决这个问题?
答案1
看起来Apache Zookeeper或者更轻的替代品诺亚(如果您想要 RESTful 接口)可能适合这里。此外,还有更多替代注册/查找服务,似乎这可能是适合您的情况的解决方案。
也可以在这里使用配置管理工具(如果你还没有使用的话)。最流行的开源配置管理工具是厨师,木偶和引擎。
例如,您可以使用 Chef 在菜谱中查找所需的信息:
db_slaves = search(:node, 'mysql_server_role:slave')
db_slaves.each do |slave|
# execute something ...
end
这是使用 Chef 搜索功能来收集 chef-server 已知的所有 DB 从属,然后对其执行某些操作的示例。
您也可以在其他提到的 CM 工具中使用类似的功能(具体技术可能有所不同)。