java - 数据库负载均衡

标签 java database jsp servlets jdbc

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

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

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

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

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

应用程序将包含:jboss、jsp、servlet、mysql

最佳答案

如果能够以一定的精度给出要求,那总是最好的。例如,我们预计同时访问数据库的用户不超过 1,000 个,这是一个明确的设计要求。 “将会有大量用户”的帮助要小得多。当然,我们无法总是预测 Web 应用程序将获得多少流量,并且需求通常会随着时间的推移而发生变化。

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

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

关于java - 数据库负载均衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658551/

相关文章:

java - 在使用 commons-beanutils 的项目的 mvn clean build 上出现 Maven 错误 - 'parent.artifactId' 必须更改

c# - 在 Entity Framework 中更改数据库结构和移动数据

java - 如何以database为参数连接mysql数据库服务器

javascript - jsp脚本执行后调用javascript函数

java - 是否有与 oracle 中的 q 运算符等效的 java?

java - 尝试通过 HashSet 的构造函数传递 Comparator

java - 谷歌地图上的自定义路线

database - created 和 modified 是不是每个数据库表都应该有的两个字段?

java - 如何在JSP中注销后禁用浏览器后退按钮?

java - 有什么方法可以阻止浏览器每秒请求相同的图像?