【发布时间】:2019-05-21 11:33:40
【问题描述】:
在 CloudFoundry 中,您可以通过在发现服务中注册其他微服务并通过它们的名称查询它们来访问它们。但是您也可以设置一个路由(“子域”),您可以从中调用服务,这似乎更容易处理。在这两种情况下都可以使用集群、断路器等。
在哪种情况下应该使用第一种或第二种方法?
【问题讨论】:
标签: java architecture microservices cloud-foundry
在 CloudFoundry 中,您可以通过在发现服务中注册其他微服务并通过它们的名称查询它们来访问它们。但是您也可以设置一个路由(“子域”),您可以从中调用服务,这似乎更容易处理。在这两种情况下都可以使用集群、断路器等。
在哪种情况下应该使用第一种或第二种方法?
【问题讨论】:
标签: java architecture microservices cloud-foundry
当您担心软件的可维护性和弹性时,最好使用注册表方法。
注册表名称对您的软件的问题域可能有意义,并且可以在您的软件的所有部署(开发、质量保证、产品等)中重复使用
路由名称会引入对您的网络基础设施的依赖关系。它必须是全球唯一的,您需要为软件的每次部署配置和管理不同的软件,并且它可能因外部问题而中断(例如:您的子域因公司名称更改而更改)。
【讨论】:
apps.internal 域:docs.cloudfoundry.org/devguide/deploy-apps/…。这可以为您提供@corbypage 声明的注册表的好处(逻辑名称并且不受外部域更改的影响),而无需单独的注册表,但仅限于在同一 CF 基础中运行的应用程序之间的通信。跨度>