【问题标题】:Spring Boot micro services- Handling impacting changes from other microserviceSpring Boot 微服务 - 处理来自其他微服务的影响更改
【发布时间】:2017-07-23 02:45:31
【问题描述】:

我只是想在提问之前简要介绍一下我正在尝试做的事情

我正在尝试使用 Spring Boot 构建微服务 - 我需要使用许多 Spring Cloud Netflix 功能,例如服务发现 (Eureka)、断路器 (Hystrix)、智能路由 (Zuul) 和客户端负载平衡 (Ribbon ) 等 - 我打算使用 docker 容器来部署和管理,使用 docker compose、docker swarm(或 kubernetes)等工具。

有了这个配置-我们有3个微服务(假设),服务A,服务B和服务C,这些是不同开发人员开发的独立微服务,假设这些开发人员不同步,开发人员1向服务A提交一些更改,这可能会破坏其他 2 个服务 B 和 C 的功能(它们出于某种目的调用服务 A),但服务 B 和 C 不知道服务 A 中所做的更改。 **如何有效地处理这样的可能情况? ** - 提前致谢

【问题讨论】:

  • 简单的解决方案:永远不要对 API 进行重大更改。为了确保这一点,您可以使用消费者驱动的合同。

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


【解决方案1】:

你永远不应该破坏向后兼容。 如果更改会破坏向后兼容性,请对服务进行版本控制。

我已经写了一篇关于如何在http://tech.asimio.net/2017/03/06/Multi-version-Service-Discovery-using-Spring-Cloud-Netflix-Eureka-and-Ribbon.html 使用Spring Cloud Netflix EurekaRibbon 注册和发现服务的多个版本的博客。

【讨论】:

    猜你喜欢
    • 2016-03-27
    • 2018-03-16
    • 2019-11-15
    • 2019-01-19
    • 1970-01-01
    • 2017-03-31
    • 2021-01-01
    • 2017-08-31
    • 1970-01-01
    相关资源
    最近更新 更多