我有一个流星.js 应用程序,可以很好地手动配置和部署单个实例。
现在是重构应用程序架构并围绕应用程序构建基础架构以使其能够被客户端部署和更新的时候了。
我想让客户来到一个他们可以注册应用程序的页面,一个实例或租约将自动为他们设置,他们可以开始使用它。在后端将有基础设施来管理应用程序的更新。
有一些明显的决定需要做出:
- 我是否将其重构为多租户?(更多应用程序代码修改)
- 我是否将其重构为多实例?(更多基础设施建设和代码)
- 是混血儿吗?(一个应用程序但多个数据库)
应用哪些测试来确定上述问题的正确答案?各自的优缺点是什么?
一旦做出决定,是否存在指导或激发适当重构的设计模式,和/或对于尚未构建多租户或多实例应用程序的人来说,存在哪些学习资源?
如果它的多实例化应该是应用程序本身的一部分,还是应该构建另一层代码和工具来管理该部分?