在Spring Boot生态系统中发现Hazelcast实例

时间:2015-11-10 04:58:06

标签: spring-boot hazelcast netflix-eureka

背景

我们有一套约15个Spring Boot应用程序作为微服务。它们都作为Docker容器运行,并作为一个或多个实例的集群运行。我们还使用Eureka等Spring Cloud Netflix组件,并使用Feign / Ribbon从客户端发现正在运行的应用程序实例。

问题:

作为POC练习的一部分,我们使用Redis和Hazelcast测试了缓存和Spring Boot配置存储。一切都使用Spring Boot,Spring Cloud和Redis / Hazelcast Java客户端库。但是,当我们在一个多节点点对点集群中部署Hazelcast时,Hazelcast似乎需要一个已知的" IP地址/主机名以及Java客户端配置中可用的可访问端口(带或不带Spring)。通常,当Hazelcast部署在临时VM实例(例如,EC2)上的多实例集群中时,IP地址和端口信息不可用。所以我们想到了两种可能的解决方案:

  1. 找到一种方法将Hazelcast作为Spring Boot应用程序运行,并将其作为Discovery Client注册到Eureka。这样,其他Spring Boot应用程序可以使用Eureka动态发现Hazelcast实例

  2. 在Hazelcast中找到一种方法,以便它可以将其IP地址和端口信息动态发布到中央键/值存储

  3. 如果有人玩过Hazelcast以便能够执行其中一种/两种可能的解决方案,那么如果您可以分享更多相关信息,那就太棒了。如果有第三种方法可以更好地运作,我也会非常想知道这一点。

0 个答案:

没有答案