首页 文章

Docker容器中的微服务

提问于
浏览
0

我正在使用Spring Cloud来创建微服务架构 .

我使用的是Spring Cloud中的以下功能

  • Zuul - 提供动态路由,监控,弹性,安全性等的API网关服务 -

  • 功能区 - 客户端负载均衡器

  • Feign - 声明式REST客户端

  • Eureka - 服务注册和发现

  • Sleuth - 通过日志进行分布式跟踪

  • Zipkin - 具有请求可视化的分布式跟踪系统 .

  • Hystrix - 所有API的断路器,容错,Hystrix仪表板

现在让我们说如果我有100个微服务,那么我们需要100个服务器来维护每个微服务 . 所以我想通过在单独的docker容器中部署每个微服务来使用Kubernetes来解决这个问题,所以现在Kubernetes负责微服务 Health 检查,自动扩展,负载 balancer ,所以我需要再次使用Ribbon,Eureka和Zuul .

任何人都可以帮我这个

2 回答

  • 6

    即使您使用Spring Cloud,100个服务也不代表100个服务器 . 在Spring Cloud中,打包单元是Spring Boot应用程序,单个服务器可以托管许多这样的Spring Boot应用程序 . 如果需要,可以将Spring Boot应用程序和其他Spring Cloud基础架构支持组件容纳在一起 . 但那不是Kubernetes .

    如果你转移到Kubernetes,你不需要像Zuul,Ribbon等基础设施支持服务,因为Kubernetes有自己的服务发现组件,网关,负载均衡器等 . 在Kubernetes,包装单元是Docker图像和一个或多个Docker容器可以放在一个容器内,这是最小的缩放单元 . 因此,Kubernetes有一组不同的组件来管理微服务 .

    Kubernetes是一个与Spring Cloud 不同的平台 . 两者都有相同的目标 . 但是,Kubernetes还有一些其他功能,如自我修复,自动扩展,滚动更新,计算资源管理,部署等 .

  • 1

    只是为了添加到saptarshi basu的答案,您可能需要查看https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes,因为它会进行比较并询问您在kubernetes上使用Spring Cloud 时可能需要处理哪些组件的责任

相关问题