小编Bar*_*ler的帖子

在 Tomcat 中水平扩展 Web 应用程序(负载平衡/集群)

我开发了一个简单的 REST 风格的 Web 应用程序,由 2 个基本模块组成。

模块#1:服务器暴露 REST Web 服务,无状态,部署在 Tomcat 中
模块#2:REST 客户端

有一个部署了 Module#1 的 Tomcat 实例。

我想水平扩展它并在第二台机器上运行第二个 Tomcat。在负载平衡/集群方面,我是一个完整的新手,这就是我需要帮助的原因。不需要会话复制和故障转移。

我应该如何处理它?

我做了一项研究,这些是我看到的可能的方法:

1.无集群,无第三方代理。

我在第二台机器上运行第二个 Tomcat。由于我可以控制客户端和服务器,我可以在客户端提供一个非常基本的算法并随机选择一个主机,这将在 API 调用之前选择。不需要配置集群,也不需要提供第三方代理。是否有任何潜在的陷阱?这是正确的方法吗?

2.Tomcat集群

说到Tomcat集群配置,是不是说有2个Tomcat在单独的机器上运行,并且他们的配置说它们是一个集群?我需要一个单独的库,工具吗?Tomcat 就够了吗?我会像第一种方法一样运行 2 个进程吗?

3.Tomcat负载均衡器

Tomcat集群和Tomcat负载均衡器有什么区别?再次,我需要一个单独的库,工具吗?Tomcat 就够了吗?

4. 第三方代理

我找到了一些关于 HAProxy 之类的信息。这是否意味着,所有调用都经过它,代理决定选择哪个主机?这是否意味着除了两个Tomcat进程之外还会有第三个单独运行?假设我在两台不同的机器上有 2 个 Tomcat,这个代理在哪台机器上运行?

我应该选择哪一个?我误解了什么吗?文章,答案表示赞赏。

cluster tomcat web-server load-balancing haproxy

4
推荐指数
1
解决办法
7689
查看次数

标签 统计

cluster ×1

haproxy ×1

load-balancing ×1

tomcat ×1

web-server ×1