2

注意:我编辑了这个问题,因为我试图提出更多问题而不是意见。

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

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

当我们已经有一个实例时,我们应该何时以及为什么要启动新实例?

谢谢最好的问候

4

2 回答 2

1

这不是一个很好的问题,因为这些问题可能有点过于固执己见。但我会给你一些关于你写的东西的想法。

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

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

  3. 客户特定的配置需要以某种方式脱离 JBoss 并进入您的应用程序,我不知道平台的细节,所以我无法提供细节。

于 2013-06-26T13:50:22.417 回答
1

是否为每个客户启动一个实例完全取决于您要提供的解决方案、需求、负载和您决定使用的多租户策略。没有固定的答案。

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

用于在云上构建企业 Web (RIA) 应用程序的数据库架构(单个数据库与客户端特定数据库)

SaaS 成熟度模型级别 4 中的租户负载均衡器说明

基于 SaaS 的在线门户架构

于 2013-07-02T03:45:09.220 回答