2017-07-17 23 views
0

我想弄清楚以下類型的需求的體系結構。 有很多不同的angular2應用程序,每個應用程序都由不同的團隊開發。我希望它們可以通過公共控制檯在somedomain.com下提供。像這樣的東西。 common console單個控制檯的多個應用程序,每個服務在同一個域下

在打開每個應用程序應該來自同一個域提供這樣

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

和像明智的,讓用戶感覺這些都是通用應用程序的服務。 這種事情發生在aws控制檯。

我還希望每個團隊都能夠維護自己的存儲庫並保持獨立的CI/CD管道。

我曾嘗試是這樣的 Current Design

所有角度的應用程序放置在該HTTP服務器是同一個盒子。 我已經修改了他們的基地標籤這樣

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

這解決了從公共領域服務的問題。但是他們的部署與服務器盒緊密結合,因爲他們都共享一個共同的盒子。

有沒有一種架構或模式來解決這類問題?我想設計一些可以擴展到n個應用程序的應用程序,以及由獨立團隊管理和開發的應用程序。

回答

0

您可以將角度應用程序部署到託管角應用程序的/ app1 &/app2目錄的AWS S3存儲桶。您可以爲應用程序選擇頁面保留一個index.html。然後將AWS CloudFront S3 bucket的infront與somedomain.com的域映射結合使用,您可以相應地使其可用。

除此之外,您還可以通過CloudFront連接到後端服務器,避免CORs挑戰。

+0

S3適用於靜態網站。我不認爲這符合我當前的使用案例 –

+0

當您設計架構時,您可以將AngularJS部件和靜態內容移動到S3(即使是html),除非您有服務器渲染 – Ashan

相關問題