簡體   English   中英

如何在單個 AWS EC2 實例上的 Node 中部署多個微服務?

[英]How does one deploy multiple micro-services in Node on a single AWS EC2 instance?

我們對 AWS 還很陌生,並希望將多種服務部署到一個 EC2 實例中。

  • 每個微服務都是在自己的存儲庫中開發的。
  • 每個服務都有自己的端點 URL
  • 服務可以相互交談
  • 服務可以單獨更新/部署

我們每個人都需要一個豆莖嗎? 我希望不是。

先感謝您

因此,我們在工作場所解決類似問題的方法是在大多數 AWS 區域利用 Elastic Beanstalk 支持的多容器 docker 平台

簡而言之,它的工作方式是,我們在 ECR(彈性容器注冊表)中為我們的每個服務都有專用的存儲庫,其中使用部署腳本部署了不同的“版本化”映像。

配置和設置完成后,您只需要部署一個Dockerrun.aws.json文件,該文件基本上突出顯示了您希望作為Dockerrun.aws.json集群的一部分部署到 1 個 EC2 實例中的所有應用程序(確保它足夠大以處理多個應用程序)。 在此文件中,您還可以突出顯示應用程序之間的link (以便它們可以相互通信)、端口配置、日志記錄驅動程序和組(是的,我們使用 AWS CloudWatch 進行日志記錄)以及許多其他字段。 這個 JSON 與一個人的docker-compose.yml非常相似,它用於為本地開發和測試調出您的堆棧。

我建議查看亞馬遜提供的示例配置以獲取更多信息。 此外,我發現docker文檔在這方面非常有幫助。

希望這可以幫助!!

目前尚不清楚您是否有特定的工具。 如果您使用任何工具來部署單個微服務,則多個應相同。

如何在單個 AWS EC2 實例上的 Node 中部署多個微服務?

每個微服務都是在自己的存儲庫中開發的。

服務可以單獨更新/部署

這應該與部署單個微服務相同。 只要它們運行的​​路徑和端口不同,就應該沒問題。

每個服務都有自己的端點 URL

您可以使用nginx作為反向代理,它可以將您的請求從端口 80 重定向到您的微服務所需的端口。

服務可以相互交談

這應該不是問題。 您可以直接使用端口號或通過完全限定名稱調用它們,然后通過 nginx 返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM