2013-06-26 59 views
2

注意:我编辑了这个问题,因为我试图将更多的问题视为问题而不是意见。亚马逊EC2上的多租户应用程序

我们的应用程序是一个在Linux上使用Java,JBoss和MySQL开发的多租户应用程序。

如果应用程序是多租户应该为每个客户启动1个实例还是应该为所有客户启动1个实例?

什么时候和为什么我们应该启动新的实例,而我们已经有一个?

感谢 问候

回答

1

这不是在这里一个很大的问题,因为这些问题可能是有点太自以为是。但我会给你一些关于你写的内容的想法。

  1. 将一个客户限制在一个实例中,不会给您提供故障转移。如果实例失败,则应用程序关闭,直到您可以重新启动或重新启动实例。

  2. 您应该考虑构建群集,而不是可以托管几个客户,每个客户有2-4个实例,并具有故障转移和负载平衡。 (也许还可以使用多种可用的RDS来托管mysql)

  3. 客户特定的配置需要摆脱JBoss并以某种方式进入您的应用程序,我不知道该平台的详细信息,因此无法提供详细信息。

1

是否每个客户推出一个实例或不纯粹是基于你想提供的要求,负载和你决定使用多租户的战略解决方案。没有固定的答案。

如果所有的租户负载可以维持一个实例,并且您不担心每个租户资源的使用情况,那么一个实例就足够了。当然,你会计划高可用性。 以下是我为其他用户提供的有关saas设置的db设计和可伸缩性问题的一些答案。我希望它有帮助。

Databse architecture (single db vs client specific db) for Building Enterprise Web (RIA) application on cloud

Explanation of Tenant Load Balancer in SaaS maturity model level 4

Architecture for SaaS based online portal