簡體   English   中英

Apache web 服務器和微服務與 Docker

[英]Apache web server and microservices with Docker

I have a few spring boot microservices running on Docker, and Apache web server (also running on Docker) for all the static stuff. 微服務由 web 瀏覽器使用。 問題是,我不知道應該如何引用 html 或 javascript 中的微服務:

  • 微服務在不同的端口上運行
  • 也可能在不同的主機上運行
  • 瀏覽器抱怨鏈接

谷歌搜索問題將我指向 Netflix eureka 或 Apache Camel,但我不確定這些是正確的解決方案。

讓我們首先考慮部署。 您提到 Docker 容器可能在不同的機器上運行。 我建議使用容器編排器,如Docker SwarmKubernetes來管理集群和微服務之間的通信(通常通過 DNS)。

通常,您希望將所有微服務隱藏在一個 API 路徑后面。 外界不需要知道你的服務器應用程序由多個微服務組成。 您可以為此使用簡單的反向代理。 我個人喜歡Traefik ,因為你可以通過標簽在 Docker 生態系統中配置路由路徑。

您說您使用瀏覽器使用微服務 API,那么它是 web 客戶端應用程序嗎? 如果是這樣,我建議也將其用作 Docker 容器,並使用相對路徑將其嵌入到路由中。 例如 UI 作為/和微服務作為/api/{service}/{path} 然后 UI 應用程序可以使用相對路徑,因為它們由相同的反向代理提供服務,並且在相同的 URL 下(=> 沒有 CORS 問題)。 此外,您可以部署到任何 IP,路由保持不變,無需調整

暫無
暫無

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

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