【问题标题】:Nginx: Start Microservies with Fallback to deployment ServerNginx:启动微服务并回退到部署服务器
【发布时间】:2020-09-03 20:37:23
【问题描述】:

我们有以下基础设施:

  • 多个 Spring 微服务(MicroserviceA、MicroserviceB、MicroserviceC...)
  • 可以在我们的开发机器上独立启动每个微服务
  • 共享开发部署。这是我们的“服务器”实例。这样一来,我们就可以自动始终在我们的服务器上部署每个微服务的最新版本。

由于我们现在有太多微服务无法在本地开发机器上启动所有微服务,因此我们正在试验是否能够使用共享服务器实例。我们也不想为每个主题重新配置所有微服务来决定哪些是本地启动的,哪些是从服务器上使用的。它应该以某种方式自动决定,也许由代理决定。

我们正在考虑 Nginx 配置,它将每个调用转发到我们的部署服务器,除了相应的微服务已经在 localhost 上运行。

这样的配置可能吗?或者有更好的解决方案来解决我们的问题?

【问题讨论】:

    标签: nginx microservices


    【解决方案1】:

    在我们的例子中,在 nginx 中被剪断就可以了:

            location @fallback_host {
                proxy_pass http://fallback_host$request_uri;
            }
    
            error_page 502 =200 @fallback_host;
    

    这会将本地主机上的每个未接来电(错误 502 - 网关错误)转发到具有相同 request_uri 的 fallback_host 机器

    我们必须将每个微服务的信息输入到配置中:(例如以下在 localhost 上截取的映射“microservice-a”

         location /microservices/ms-a/ {
             proxy_pass http://127.0.0.1:8080$request_uri; 
         }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 2018-06-14
      • 2019-02-15
      • 2017-02-05
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多