7

我正在学习使用 Spring Boot、Spring Cloud(netflix OSS 组件)构建微服务。我在本地机器上运行时使用 netflix Eureka 进行服务发现,使用 zuul 进行 api 网关、ribbon、feign。

当我们部署到 PCF 时,Netflix eureka、zuul、ribbon、feign spring cloud config 没有用?(如果是,pcf 中有哪些可用的替代方案以及如何配置它们?)

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

4

2 回答 2

1

以下是一些想法:

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

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

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

  • spring-cloud-feign:如果你想使用注解,比如@RequestMapping你的 Feign 客户端接口,这很有意义。这与您是否在 CloudFoundry 上运行无关。如果您想将 Spring MVC 注释与 Feign 一起使用,AFAIK 没有其他选择。

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

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

  • 一般来说,我认为开发人员不需要在本地检查他们的应用程序是否与 zuul、cloud-config-service 和 eureka 一起正常工作。

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

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

希望这可以帮助。

于 2018-05-07T13:56:50.727 回答
1

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

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

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

由于谁在构建微服务遵循 CI/CD 方法,开发人员如何在推送代码之前验证其微服务的工作,因为我们在生产 pcf 中不使用 eureka、zuul、ribbon、feign。

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

(如何在开发者机器中模拟pcf环境?)。 对此的回答:您可以使用您正在使用 eclipse/STS IDE 的 eclipse 插件。或者您可以使用本地计算机连接所有 PCF 服务CloudFactory

@Bean
public Cloud cloud() {
    return new CloudFactory().getCloud();
}

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

于 2018-05-01T17:32:15.740 回答