使用Hazelcast作为服务目录?

使用Hazelcast作为服务目录?,hazelcast,service-discovery,Hazelcast,Service Discovery,我正在探索使用Hazelcast(或任何其他缓存框架)在集群内发布服务的概念。理想情况下,当集群成员离开时,应该从缓存中删除其服务(或发布服务的对象) 这一切都有可能吗 这肯定是可能的 问题是:你喜欢哪种解决方案 如果服务可以存储在映射中,您可以创建一个ttl为(例如)几分钟的映射,并且每个成员都需要刷新其服务以防止服务过期 另一种解决方案是使用membershiplistener侦听成员更改,一旦成员离开,需要从映射中删除属于该成员的服务 如果您不喜欢这些,您可以创建自己的基于SPI的实现。S

我正在探索使用Hazelcast(或任何其他缓存框架)在集群内发布服务的概念。理想情况下,当集群成员离开时,应该从缓存中删除其服务(或发布服务的对象)


这一切都有可能吗

这肯定是可能的

问题是:你喜欢哪种解决方案

如果服务可以存储在映射中,您可以创建一个ttl为(例如)几分钟的映射,并且每个成员都需要刷新其服务以防止服务过期

另一种解决方案是使用membershiplistener侦听成员更改,一旦成员离开,需要从映射中删除属于该成员的服务

如果您不喜欢这些,您可以创建自己的基于SPI的实现。SPI是hazelcast用于创建其分布式数据结构的底层基础设施。更多的工作,但也有很大的灵活性


所以有很多解决方案

这纯粹是我的观点(但你的问题似乎确实在征求意见),但我相信zookeeper更适合你的用例。ZK临时节点几乎完全符合您的要求。@Aurand Hazelcast是比ZK更轻量级的工具。您可以嵌入并使用它。