我们正在使用关系数据库做很多“传统”的 Web 应用程序。它们都是为有限数量的用户服务的内部软件。现在,我们正在构建一个 Web 应用程序,并将其作为云来开展业务,例如 SaaS。但是,我们没有云计算方面的经验。我们非常感谢所有建议,以便我们可以开始挖掘,因为目前,我们不知道从哪里挖掘 :)
我们的 Web 应用程序总结:我们有主要的 2 个部分
第1部分:
- 对于授权用户。
- 主要写
- 传统的
- 使用更多的 SQL 连接。这让我们认为NoSQL不适用于这部分。我们正在使用 MySql
第2部分:
- 面向公众用户
- 一种 CMS,授权用户在其中创建页面并发布内容。但是这个动作并不频繁
- 主要阅读
我们正在考虑单独管理用户注册(帐户)。让它管理身份验证和实施 SSO,以便我们可以在所有应用程序中使用它。我们计划构建更多应用程序,并预计注册用户数量会增加。
所有应用程序都是用java构建的。
我们模糊的是:
- 如何使我们的应用程序扩展(开发框架、数据库、部署模型......)。我们寻找水平尺度的方法。我们最初的想法是:对于第 1 部分,数据分片似乎是唯一的方法。但是要做到这一点,我们如何将给定的用户路由到正确的位置?是否有任何现有的开源产品?对于第 2 部分,是否有任何 CMS 可以很好地扩展?对于用户帐户,我们考虑使用 NoSQL 数据库。
- 我们希望从少量服务器开始构建私有云,并在业务增长时添加更多服务器。为此,我们需要什么样的组件(例如硬件、软件……)。对于软件,我们对开源更感兴趣。
- “通过添加新服务器来扩展(水平)”:我们需要做些什么才能让它工作?
- 如果在一个服务器盒中同时放置 Web 应用程序服务器和数据库服务器,会有什么缺陷?
谢谢你。