为生产中的Lagom部署动态服务网关

为生产中的Lagom部署动态服务网关,lagom,Lagom,我开发了一套Lagom微服务。开发环境提供了默认的服务网关和服务定位器 在生产环境中,我希望我的服务: 注册到服务注册中心 可通过使用此注册表的服务定位器访问web应用 我应该使用什么作为服务注册表/服务定位器/服务网关 一个简单的NGINX将是一个合理的服务网关,但它意味着一个基于重定向规则的非常静态的配置(没有实际的注册) 我找不到关于这个主题的任何代码示例,而且非常差(它描述了很好的开发工具,但在实际生产中没有帮助)。这个领域的文档故意含糊不清,因为生态系统非常庞大,变化很快 例如,您

我开发了一套Lagom微服务。开发环境提供了默认的服务网关和服务定位器

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

  • 注册到服务注册中心
  • 可通过使用此注册表的服务定位器访问web应用
我应该使用什么作为服务注册表/服务定位器/服务网关

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


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

这个领域的文档故意含糊不清,因为生态系统非常庞大,变化很快

例如,您可以使用concur或ZooKeeper跟踪为每个服务运行的实例及其运行位置(
where
表示
IP:PORT
)。然后,您需要使用基于领事或基于ZooKeeper的
服务定位器
实例。如今首选的目标部署环境是Kubernetes(任何一种风格),因此服务位置基于k8s提供的DNS服务器上的DNS-SRV查找。在k8s设置中,每个吊舱的注册步骤都会自动进行,因此您无需在意

然后,边缘上能够将每个请求定向到适当进程的反向代理是一个普通的旧HTTP代理,它可以检查您的服务位置(或缓存服务位置信息)。现在建议为每个lagom服务配置
入口
/
路由
(对于k8s或
OpenShift
)边缘代理


有关详细说明,请参阅上的指南。

该区域的文档故意含糊不清,因为该生态系统非常庞大且变化迅速

例如,您可以使用concur或ZooKeeper跟踪为每个服务运行的实例及其运行位置(
where
表示
IP:PORT
)。然后,您需要使用基于领事或基于ZooKeeper的
服务定位器
实例。如今首选的目标部署环境是Kubernetes(任何一种风格),因此服务位置基于k8s提供的DNS服务器上的DNS-SRV查找。在k8s设置中,每个吊舱的注册步骤都会自动进行,因此您无需在意

然后,边缘上能够将每个请求定向到适当进程的反向代理是一个普通的旧HTTP代理,它可以检查您的服务位置(或缓存服务位置信息)。现在建议为每个lagom服务配置
入口
/
路由
(对于k8s或
OpenShift
)边缘代理

有关详细说明,请参阅上的指南