【问题标题】:Load balanceing for database数据库负载均衡
【发布时间】:2026-02-09 06:25:01
【问题描述】:

我将开始开发一个巨大的应用程序。 在此之前,我想为它做好准备。

这是一个将在全球范围内使用的应用程序,将有大量用户同时使用它。

  1. 所以我的想法是,一台数据库服务器上会有很大的负载,在很短的时间内数据库上会有大量的请求/查询。所以这会影响系统的性能,对吧?

  2. 如果数据库服务器宕机,网站所有者将付出巨大的代价。

那我该怎么办?有什么技术或我可以使用的东西吗? 如果我可以使用多个数据库,那么如何?所有数据库都包含相同的信息吗?我可以在差异之间加入表格(使用任何技术或工具)吗?数据库?还是我必须在每个数据库中执行多个查询?

应用程序将使用:jboss、jsp、servlet、mysql

【问题讨论】:

    标签: java database jsp servlets jdbc


    【解决方案1】:

    最好能精确地给出需求。例如,我们预计不超过 1,000 个用户同时访问数据库是明确的设计要求。 “会有大量用户”的帮助要小得多。当然,我们无法始终预测 Web 应用程序将获得多少流量,并且需求经常随时间变化。

    如果数据库的读取次数远多于写入次数,那么缓存数据库中的数据可以提高性能。这是您可能想收听的最近播客的主题:http://javaposse.com/java-posse-399-roundup-12-distributed-caching

    在多台服务器之间传播数据库是一项复杂的任务,因为您需要处理同步问题。你最好的选择是找到一个服务或 API 来为你解决这个问题。您可以使用 MySQL(请参阅 this question),但为这种扩展设计的另一个数据库可能是更好的选择。看看hadoop

    【讨论】: