【问题标题】:Single console for multiple apps each served under same domain多个应用程序的单个控制台,每个应用程序都在同一域下提供
【发布时间】:2017-07-18 02:40:54
【问题描述】:

我正在尝试找出满足以下需求的架构。 有许多不同的 angular2 应用程序,每个应用程序都由不同的团队开发。我希望它们可以在 somedomain.com 上的通用控制台下使用。像这样的东西。

在打开每个应用时,应该像这样从同一个域提供服务

app1 -> somedomain.com/app1
app2 -> somedomain.com/app2

同样,让用户感觉这些是通用应用程序的服务。 此类事情发生在 aws 控制台中。

我还希望每个团队都能够维护自己的存储库并维护独立的 CI/CD 管道。

我尝试过的是这样的

所有 Angular 应用程序都放置在 http 服务器所在的同一个盒子上。 我已经像这样修改了他们的基本标签

app1 : <base href="/app1/"/>
app2 : <base href="/app2/"/>

这解决了从公共域提供服务的问题。但是它们的部署与服务器盒紧密耦合,因为它们都共享一个公共盒。

是否有解决此类问题的架构或模式?除了那些由独立团队管理和开发的应用程序之外,我还想设计一些可以针对 n 个应用程序进行扩展的东西。

【问题讨论】:

    标签: angular architecture httpserver


    【解决方案1】:

    您可以将 Angular 应用程序部署到 AWS S3 存储桶,其中包含 /app1 和 /app2 目录,其中托管 Angular 应用程序。您可以为应用选择页面保留一个 index.html。然后使用带有 somedomain.com 域映射的 S3 存储桶前面的 AWS CloudFront,您可以相应地使它们可用。

    除此之外,您还可以通过 CloudFront 连接到后端服务器,避免 COR 挑战。

    【讨论】:

    • S3 非常适合为静态网站提供服务。我认为它不适合我当前的用例
    • 当你设计架构时,你可以将你的 AngularJS 部分和静态内容移动到 S3(甚至是 html),除非你有服务器渲染
    猜你喜欢
    • 2015-08-23
    • 1970-01-01
    • 2014-01-17
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 2012-02-10
    相关资源
    最近更新 更多