我们正在开发一个将在Cloud Foundry中部署的云 native 应用程序,在最初“让我们使用Netflix的所有功能”之后,我们开始质疑与CF的重叠是否证明使用Netflix组件是合理的。
特别是在使用 Eureka 的情况下,我们计划将其用于服务发现,但是CF和路由开箱即用地提供了非常相似的功能。我们会错过的是服务的运行时注册(在架构不经常更改的情况下这不是一个很大的挑战,实际上是serviceID-> CF路由的静态映射)和心跳(在应用程序级别,因为我假设在容器级别CF可以确保一切正常)。
所以,现在我想知道-使用CF时如何在应用程序(实际应用程序)中使用它?将其保留在体系结构中有什么好处?
谢谢,
莱泽克
PS。
有趣的是,如果eureka存储了serviceID-> CF路由的简单映射,那么如果我是对的,Zuul的值(value)也会下降(因为LB将由CF提供,而gorouter是一个很好的选择)。
最佳答案
Eureka使用应用程序ID进行服务发现,该ID仅存在于您的应用程序设计的上下文中。 Cloud Foundry路由使用URL进行寻址,这在您的代码中引入了对基础架构的依赖性。
如果我需要访问account-service
,那么我想用那个名字来要求它。该服务的URL将有所不同,这取决于我是在本地计算机上进行测试,正在运行已部署的QA实例还是在生产环境中运行。我不希望我的应用程序必须知道它在哪里运行,以及哪个URL映射到哪个环境。无论如何,这些URL可能会随时间变化。
如果我使用Eureka,那么我只要求account-service
,并且从我的应用程序中提取了特定于环境的问题。
关于cloud-foundry - Eureka在Cloud Foundry/PaaS环境中的值(value)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36577994/