我们如何为pcf中的微服务配置API网关,服务发现?

时间:2018-04-20 15:13:55

标签: spring-boot microservices spring-cloud-netflix pcf

我正在学习使用Spring启动Spring Cloud(netflix OSS Components)构建微服务。我使用netflix Eureka进行服务发现,zuul用于api网关,功能区,假装在我的本地机器上运行。

Netflix eureka,zuul,ribbon,feign spring cloud config在部署到PCF时没用吗?(如果是,pcf中有哪些替代品以及如何配置它们?)

正在构建微服务的人遵循CI / CD方法,开发人员如何在推送代码之前验证其微服务的工作,因为我们不使用eureka,zuul,ribbon,feign in production pcf。 (如何在开发者机器中模拟pcf环境?)。

2 个答案:

答案 0 :(得分:0)

如果您对Eureka和Zuul的使用有任何疑问,我建议您在实施前阅读以下内容,您将自行获得所有答案。

  

https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance

     

https://github.com/Netflix/zuul/wiki

正在构建微服务的人遵循CI / CD方法,开发人员如何在推送代码之前验证其微服务的工作,因为我们不使用eureka,zuul,ribbon,feign in production pcf。 < / p>

回答这个问题是:您必须了解JUnit测试用例,这样您就可以使用部署管道运行测试用例,以确保所有功能都按预期工作,或者您可以使用Test自动化相同。

(如何在开发者机器中模拟pcf环境?)。 回答这一个: 您可以使用eclipse插件使用eclipse / STS IDE。或者,您可以使用CloudFactory

连接本地计算机上的所有PCF服务
@Bean
public Cloud cloud() {
    return new CloudFactory().getCloud();
}

https://docs.pivotal.io/pivotalcf/2-1/buildpacks/java/sts.html

答案 1 :(得分:0)

以下是一些想法:

  • Eureka服务发现:在我看来,在PCF上运行时并不是绝对必要的。当您在PCF上推送应用程序时,通常会为您的应用程序分配路由,并且您可以将此路由用作穷人的服务发现。 Eureka允许您在容器到容器网络的情况下使用客户端负载平衡,但通常您不需要这样做。

  • Zuul:对于CloudFoundry也非常有用,以防你正在编写前端后端服务,为使用相同后端服务的不同设备(手机,台式机,i-pad)提供前端服务。可能对身份验证/授权层或速率限制很有用。一个原生的CloudFoundry替代方案是将路由服务用于速率限制,身份验证/授权等任务。

  • spring-cloud-config:如果您希望您的配置受不同环境的版本控制,则有意义。无论您是否在CloudFoundry上运行,这都很有用。我不知道普通的CloudFoundry有什么替代方案。

  • spring-cloud-feign:如果你想在你的Feign客户端界面中使用@RequestMapping这样的注释,那就没有意义。如果您在CloudFoundry上运行,则独立于此。如果你想在Feign中使用Spring MVC注释,那么AFAIK就没有替代方案。

  • 功能区:如果您想使用客户端负载平衡而不是让CloudFoundry路由器为您执行负载平衡,则有意义。

开发人员如何在本地检查是否适用于他们:

  • 一般情况下,我认为开发人员不应该在本地检查他们的应用是否与zuul,cloud-config-service和eureka一起正常运行。

  • 他们可以在开发或测试空间或环境中检查这一点。

  • 如果他们真的想在本地机器上查看,可以下载PCFDev并在那里运行这些基础设施组件。

希望这会有所帮助。