我将开始处理一个巨大的应用程序。
在此之前,我要做好自我准备。
这是一个将在全球范围内使用的应用程序,并且将有大量的用户同时使用它。
因此,我认为,一台数据库服务器上的负载将很大,而在较短的时间内对数据库的请求/查询将很多。这样会影响系统的性能,对吗?
如果数据库服务器出现故障,这将对网站所有者造成巨大损失。
所以我该怎么做?有什么技术或我可以使用的东西吗?
如果我可以使用多个数据库,那怎么办?所有数据库都包含相同的信息吗?我可以连接差异之间的表(使用任何技术或工具)。数据库?还是我必须为每个数据库在每个数据库中执行多个查询?
应用程序将与:jboss,jsp,servlet,mysql
最佳答案
如果可以精确给出要求,那总是最好的。例如,我们明确要求同时访问数据库的用户不超过1,000。 “将有大量用户”的帮助要小得多。当然,我们不能总是预测Web应用程序将获得多少流量,并且需求经常随时间变化。
如果数据库的读取次数比写入次数多,那么从数据库缓存数据可以提高性能。这是您可能想收听的最近播客的主题:http://javaposse.com/java-posse-399-roundup-12-distributed-caching
在许多服务器之间传播数据库是一项复杂的任务,因为您需要处理同步问题。最好的选择是找到可以为您解决此问题的服务或API。您可以使用MySQL(请参见this question),但是为这种扩展而设计的另一个数据库可能是一个更好的选择。看看hadoop。