我正在学习使用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环境?)。
答案 0 :(得分:0)
如果您对Eureka和Zuul的使用有任何疑问,我建议您在实施前阅读以下内容,您将自行获得所有答案。
正在构建微服务的人遵循CI / CD方法,开发人员如何在推送代码之前验证其微服务的工作,因为我们不使用eureka,zuul,ribbon,feign in production pcf。 < / p>
回答这个问题是:您必须了解JUnit测试用例,这样您就可以使用部署管道运行测试用例,以确保所有功能都按预期工作,或者您可以使用Test自动化相同。
(如何在开发者机器中模拟pcf环境?)。
回答这一个:
您可以使用eclipse插件使用eclipse / STS IDE。或者,您可以使用CloudFactory
@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并在那里运行这些基础设施组件。
希望这会有所帮助。