2

我正在开发一个弹簧启动应用程序。集群中的弹簧启动应用程序

由于spring引导为应用程序创建了一个.jar文件。 我想将这个特定的应用程序集群到不同的服务器上。比方说,我构建了一个jar文件并运行了一个项目,然后它应该从多个定义的服务器以集群模式运行,并且应该能够满足最终用户的需求。

我的jar只会驻留在一台服务器上,但它将跨多台服务器进行集群。当最终用户从我的弹簧启动应用程序调用Web服务时,他永远不知道它从哪里调用。

集群背后的原因是假设任何一台服务器将来都会关闭,最终用户仍然可以从另一台服务器访问Web服务。但我不知道如何使它聚集在一起。

任何人都可以给我洞察一下吗?

回答

2

如果您希望将其集群化,您只需在多个服务器上运行Spring Boot应用程序(当然,JAR必须存在于这些服务器上,否则无法运行它)。然后,您可以在应用程序服务器前放置一个负载平衡器来分配负载。

+0

嘿敦尼谢谢你的回应。你可以分享任何这样的文件解释这个过程。 –

+0

http://projects.spring.io/spring-cloud/ https://en.wikipedia.org/wiki/Load_balancing_(computing) nginx.org/en/docs/http/load_balancing.html – dunni

+0

还有很多项目提到,所以哪一个适合我的要求根据你 –

2

如果您要公开的所有服务都是无状态的,那么您只需要在节点前面使用负载均衡器就可以了。 Apache或nginx的,如果你的服务是有状态的“存储中的任何状态[会议,以dB为单位存储数据]”所以你必须使用分布式缓存或内存数据网格:

  1. 会话可以使用弹簧会议项目可以使用轨道来存储会话。
  2. 用于存储数据的DB你需要群集DB它的自我和可以像使用Hazelcast您的数据库层之上的分布式缓存。
2

看看spring cloud,他们已经使用了一些netflix开放软件和amazons来为微服务创建12个因子应用程序。 理想情况下,您需要一个负载平衡器,服务注册表,它可以帮助您实现多个Spring引导实例。我相信你必须添加一个称为尤里卡的依赖。 检查以下链接

Spring cloud

0

可以在Cloud Foundry中部署并使用自动量程来增加您的应用程序实例。

相关问题