请建议当多个 tomcat 访问同一数据库时实现数据库负载平衡的不同方法是什么?
谢谢。
最佳答案
这是详细的example使用多个 tomcat 实例和基于 apache 的负载平衡控制
请注意,如果您有一个可以进行负载平衡的硬件,那么对我来说这是更好的方式(放置它而不是 apache)。
简而言之,它的工作原理如下:
- 某个客户端向 apache Web 服务器/硬件负载均衡器发出请求
- 网络服务器确定要将请求重定向到哪个节点以进行进一步处理
- Web 服务器调用 Tomcat,Tomcat 获取请求
- Tomcat 处理请求并将其发回。
关于数据库: - tomcat 本身与您的数据库无关,它是与数据库通信的应用程序,而不是 Tomcat。 无论您的应用程序层如何,您都可以建立数据库服务器集群(例如,Google 的 Oracle RAC,但情况完全不同)
一般来说,在实现应用程序层负载平衡时,请注意应用程序的公共(public)状态会被复制。 称为“粘性 session ”的技术可以部分解决该问题,但总的来说您应该意识到这一点。
希望这有帮助
关于java - 如何通过负载平衡针对同一数据库运行多个tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8708214/