Docker容器中的微服务

Ale*_*Man 0 java docker kubernetes microservices spring-cloud

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

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

  • Zuul - 提供动态路由,监控,弹性,安全性等的API网关服务 -
  • 功能区 - 客户端负载均衡器
  • Feign - 声明式REST客户端
  • Eureka - 服务注册和发现
  • 侦探 - 通过日志分布式跟踪
  • Zipkin - 具有请求可视化的分布式跟踪系统.
  • Hystrix - 适用于所有API的断路器,容错,Hystrix仪表板

现在让我们说如果我有100个微服务,那么我们需要100个服务器来维护每个微服务.所以我想用Kubernetes通过在一个单独的泊坞窗容器部署每个微服务,所以现在因为Kubernetes照顾microserivice健康检查,自动缩放,负载平衡,所以我需要再次使用丝带,尤里卡和Zuul来解决这个问题.

任何人都可以帮我这个

Sap*_*asu 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云不同的平台.两者都有相同的目标.但是,Kubernetes还有一些其他功能,如自我修复,自动扩展,滚动更新,计算资源管理,部署等.