我正在探索使用Hazelcast(或任何其他缓存框架)来宣传群集中的服务的概念。理想情况下,当集群成员离开时,应从缓存中删除其服务(或宣传它们的对象)。
全部可能吗?
答案 0 :(得分:3)
可以肯定。
问题是:你喜欢哪种解决方案。
如果服务可以存储在地图中,您可以使用例如ttl创建地图。几分钟,每个成员需要刷新其服务,以防止服务过期。
另一种解决方案是使用membershiplistener监听成员更改,一旦成员离开,则需要从地图中删除属于该成员的服务。
如果你不喜欢这个,你可以创建自己的基于SPI的实现。 SPI是hazelcast用于创建分布式数据结构的低级基础结构。更多的工作,但也有很大的灵活性。
所以有很多解决方案。