Web 在同一数据源上创建多个前端

Web 在同一数据源上创建多个前端,web,shared-hosting,Web,Shared Hosting,我想创建和主机4-5个网站使用相同的数据库。两个地点之间的唯一区别是: 品牌(颜色和标题) 数据将按网站进行过滤(通过sql查询),并 每个站点将位于单独的域上(但可以托管在同一台服务器上) 我的第一个想法是使用API/Rest模型,在它们自己的子域中提供五个前端。但由于站点可以托管在同一台服务器上(我假设一个托管帐户支持多个子域),我认为我可以简单地将所有具有连接字符串的站点连接到同一个数据库,从而避免使用REST的复杂性 这可能吗?我这样做会不会遇到数据库冲突? 如果以后,我想添加一个移动应

我想创建和主机4-5个网站使用相同的数据库。两个地点之间的唯一区别是:

  • 品牌(颜色和标题)
  • 数据将按网站进行过滤(通过sql查询),并
  • 每个站点将位于单独的域上(但可以托管在同一台服务器上)
  • 我的第一个想法是使用API/Rest模型,在它们自己的子域中提供五个前端。但由于站点可以托管在同一台服务器上(我假设一个托管帐户支持多个子域),我认为我可以简单地将所有具有连接字符串的站点连接到同一个数据库,从而避免使用REST的复杂性

    这可能吗?我这样做会不会遇到数据库冲突? 如果以后,我想添加一个移动应用程序客户端,那么我还需要构建一个rest接口吗


    谢谢

    在这里做正确的事情在很大程度上取决于您的特定用例、预期负载、首选后端/边缘技术、未来计划等

  • 站点域和服务器-
    这里的要点是,您可以在相同或不同的服务器上托管域/子域。您只需更新DNS以指向正确的IP(更新子域的A记录)。 注意:如果这些站点都是面向公众的,那么我强烈建议使用边缘/代理服务器,甚至考虑负载均衡器,这取决于预期的访问者数量(或)
  • 解耦体系结构几乎总是首选-
    我肯定会有一个API/REST层来从站点抽象数据库。这可以确保您建立一个契约,通过该契约,任何客户端都可以与后端交互,包括您的移动应用程序。您也不必在各种客户机之间复制特定于DB的代码。如果您决定更改模式,该怎么办?甚至你的数据库解决方案?然后所有的客户都会破产,你的客户也会不高兴。作为一个指导原则,请思考:如果我更改了体系结构中的任何一项内容,那么还需要更改多少其他内容

    就可伸缩性而言,此体系结构还允许您在需要时轻松启动更多所需实例(数据库、REST服务等)
  • 如何构建和部署REST API?Re:#2,要在Node.js(和express)上运行一个简单的自定义REST服务,这是一个。该示例还介绍了如何设置内存中的MongoDB数据库并与之集成
  • 数据库冲突?
    如果遵循上述步骤,这应该是一个没有实际意义的问题。Node.js/express和数据库公开了在默认值不够时配置连接池的方法。同样,这将取决于您的需求—您期望有多少并发用户

  • 4-5个站点用于初始营销目的,目的是在我们获得曝光后减少这些站点,以支持单个站点。关于解耦架构,我同意这将有助于创建移动应用程序。如果客户端需要用户身份验证/用户更新/产品投标等,那么是否需要为每种类型的调用构建单独的API?任何关于如何构建的示意图都会很有帮助(我只能在网上找到简单的例子)。谢谢