java - 如何通过负载平衡针对同一数据库运行多个tomcat

标签 java tomcat database-connection load-balancing

请建议当多个 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/

相关文章:

java - 缺少 JFrame?还是只是全屏?

java - Tomcat 关闭失败并出现内存错误

java - 如何使用 Tomcat 6 将我的 Java 代码发布到本地主机?

php - 警告 : mysqli_connect(): MySQL server has gone away

c# - ASP.net 最佳实践 - 我从哪里连接到数据库?

vb.net - from子句中的语法错误。 vb 2012

java - 在 Rhino 中访问 java map 和列表作为 JavaScript 对象

java - Mongo Java 驱动程序 3 - 使用扩展 'Document' 的对象

java - 类构造函数中的 ArrayIndexOutOfBounds

tomcat - 在tomcat中 Play Framework 路由器问题