一些常见的服务发现工具:
etcd:这是CoreOS的创建者提供的工具,面向容器和宿主机提供服务发现和全局配置存储功能。它在每个宿主机上有基于http协议的API和命令行的客户端。
consul:这个服务发现平台有很多高级的特性,使得它脱颖而出,例如:配置健康检查、ACL功能、HAProxy配置等等。
zookeeper:这个工具较上面两个都比较老,提供一个更加成熟的平台和一些新特性。
一些基本服务发现工具的扩展项目:
crypt:Crypt允许组件通过采用公钥加密的方式来保护它们的信息。需要读取数据的组件会被分配密钥,而其他组件则不能读取数据。
confd:Confd项目旨在基于服务发现的变化,而动态重新配置任意应用程序。该系统包含了一个工具来监测节点中的变化、一个模板系统来根据获取到的值来生成配置文件,并能够重新加载受影响的应用。
vulcand:Vulcand为成组的组件作为负载均衡使用。它使用etcd作为后端,并基于监测变更来调整它的配置。
marathon:虽然marathon主要是调度器(后续介绍),它也实现了一个基本的重加载HAProxy的功能,当发现变更时它来协调可用的服务。
frontrunner:这个项目嵌入在marathon中对HAProxy的更新提供一个更稳定的解决方案。
synapse:这个项目引入了嵌入式的HAProxy组件,它能够路由流量给各个组件。
nerve:它被用来与synapse结合一起来为各个组件提供健康检查,如果组件不可用,nerve将更新synapse将该组件移除出去。