【问题标题】:Deploy a dynamic Service Gateway for Lagom in production在生产环境中为 Lagom 部署动态服务网关
【发布时间】:2020-09-05 17:54:55
【问题描述】:

我开发了一套 Lagom 微服务。开发环境提供了默认的Service Gateway和Service Locator。

在生产环境中,我希望我的服务:

  • 注册到服务注册表
  • 可通过使用此注册表的服务定位器供 Web 应用使用

我应该使用什么作为服务注册表/服务定位器/服务网关?

一个简单的 NGINX 将是一个合理的服务网关,但它意味着基于重定向规则的非常静态的配置(没有实际注册)。

我找不到关于这个主题的任何代码示例,而且documentation 很差(它描述了很好的开发工具,但在实际生产中没有帮助)。

【问题讨论】:

    标签: lagom


    【解决方案1】:

    该领域的文档故意含糊其辞,因为生态系统非常庞大且变化迅速。

    例如,您可以使用 Consul 或 ZooKeeper 来跟踪为每个服务运行的实例以及它们运行的​​位置(where 表示 IP:PORT)。然后你需要使用基于 Consul 或 ZooKeeper 的 Service Locator 实例。目前首选的目标部署环境是 Kubernetes(任何风格),因此服务位置基于 k8s 提供的 DNS 服务器上的 DNS-SRV 查找。注册步骤在每个 pod 的 k8s 设置中自动发生,因此您无需关心。

    然后,能够将每个请求定向到适当进程的边缘反向代理是一个普通的 HTTP 代理,它可以检查您的服务位置(或缓存服务位置信息)。这些天来,建议为您的每个 lagom 服务配置一个 Ingress/Route(用于 k8s 或 OpenShift)边缘代理。

    有关详细说明,请参阅Deploying a Lagom application to Openshift 上的指南。

    【讨论】:

      猜你喜欢
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 2020-06-17
      • 2014-11-09
      • 1970-01-01
      相关资源
      最近更新 更多