3

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

可能吗?

4

1 回答 1

3

这是肯定的。

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

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

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

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

所以有很多解决方案。

于 2013-10-31T19:51:38.873 回答