注意:我编辑了这个问题,因为我试图提出更多问题而不是意见。
我们的应用程序是在Linux上使用Java,JBoss和MySQL开发的多租户应用程序。
如果应用程序是多租户,我们应该为每个客户启动1个实例,还是应该为所有客户启动1个实例?
我们何时以及为什么要启动新实例?
由于 最诚挚的问候
答案 0 :(得分:1)
这对这里来说不是一个很好的问题,因为这些问题可能有点过于自以为是。但我会就你写的内容给你一些想法。
将一个客户限制在一个实例中不会给您带来故障转移。如果实例失败,则应用程序将关闭,直到您可以重新启动或重新启动实例。
您应该考虑构建群集,而不是托管多个客户,每个客户2-4个实例,具有故障转移和负载平衡。 (也许还使用多可用区RDS来托管mysql)
客户特定的配置需要以某种方式退出JBoss并进入您的应用程序,我不知道该平台的细节,因此我无法提供具体细节。
答案 1 :(得分:1)
是否为每个客户启动一个实例纯粹基于您要提供的解决方案,您决定使用的要求,负载和多租户策略。没有固定的答案。
如果一个实例可以维持所有租户的负载并且您不担心每个租户资源的使用情况,那么一个实例就足够了。当然,您将计划高可用性。 以下是我为其他用户提供的有关数据库设计和saas设置可扩展性问题的一些答案。我希望它有所帮助。
Explanation of Tenant Load Balancer in SaaS maturity model level 4