Docker 容器中的微服务
Microservices in Docker Container
我正在使用 Spring 云来创建微服务架构。
我正在使用 Spring Cloud
中的以下功能
- Zuul – API 提供动态路由、监控、弹性、安全性等的网关服务 -
- Ribbon – 客户端负载均衡器
- Feign – 声明式 REST 客户端
- Eureka – 服务注册和发现
- Sleuth – 通过日志进行分布式跟踪
- Zipkin – 具有请求可视化的分布式跟踪系统。
- Hystrix - 断路器、容错、适用于所有人的 Hystrix 仪表板 API
现在假设我有 100 个微服务,那么我们需要 100 个服务器来维护每个微服务。所以我想到使用 Kubernetes 通过将每个微服务部署在一个单独的 docker 容器中来解决这个问题,所以现在由于 Kubernetes 负责微服务健康检查、自动缩放、负载平衡,所以我需要再次使用 Ribbon、Eureka和祖尔。
谁能帮我解决这个问题
即使您使用 Spring 云,100 个服务并不意味着 100 个服务器。在 Spring 云中,打包单元是 Spring 引导应用程序,单个服务器可能托管许多这样的 Spring 引导应用程序。如果需要,您可以将 Spring 引导应用程序和其他 Spring 云基础架构支持组件容器化。但这不是 Kubernetes。
如果你迁移到Kubernetes,你不需要Zuul、Ribbon等基础设施支持服务,因为Kubernetes有自己的服务发现、网关、负载均衡器等组件。在Kubernetes中,打包单元是Docker 图像和一个或多个 Docker 容器可以放在一个 pod 中,这是最小缩放单元。因此,Kubernetes 有一组不同的组件来管理微服务。
Kubernetes 是不同于 Spring 云的平台。两者都有相同的目标。然而,Kubernetes 有一些额外的功能,如自我修复、自动缩放、滚动更新、计算资源管理、部署等。
只是为了补充 saptarshi basu 的回答,您可能需要查看 https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes 进行比较,并询问在使用 Spring 时您可能希望由哪些组件处理哪些职责kubernetes 上的云
我正在使用 Spring 云来创建微服务架构。
我正在使用 Spring Cloud
中的以下功能- Zuul – API 提供动态路由、监控、弹性、安全性等的网关服务 -
- Ribbon – 客户端负载均衡器
- Feign – 声明式 REST 客户端
- Eureka – 服务注册和发现
- Sleuth – 通过日志进行分布式跟踪
- Zipkin – 具有请求可视化的分布式跟踪系统。
- Hystrix - 断路器、容错、适用于所有人的 Hystrix 仪表板 API
现在假设我有 100 个微服务,那么我们需要 100 个服务器来维护每个微服务。所以我想到使用 Kubernetes 通过将每个微服务部署在一个单独的 docker 容器中来解决这个问题,所以现在由于 Kubernetes 负责微服务健康检查、自动缩放、负载平衡,所以我需要再次使用 Ribbon、Eureka和祖尔。
谁能帮我解决这个问题
即使您使用 Spring 云,100 个服务并不意味着 100 个服务器。在 Spring 云中,打包单元是 Spring 引导应用程序,单个服务器可能托管许多这样的 Spring 引导应用程序。如果需要,您可以将 Spring 引导应用程序和其他 Spring 云基础架构支持组件容器化。但这不是 Kubernetes。
如果你迁移到Kubernetes,你不需要Zuul、Ribbon等基础设施支持服务,因为Kubernetes有自己的服务发现、网关、负载均衡器等组件。在Kubernetes中,打包单元是Docker 图像和一个或多个 Docker 容器可以放在一个 pod 中,这是最小缩放单元。因此,Kubernetes 有一组不同的组件来管理微服务。
Kubernetes 是不同于 Spring 云的平台。两者都有相同的目标。然而,Kubernetes 有一些额外的功能,如自我修复、自动缩放、滚动更新、计算资源管理、部署等。
只是为了补充 saptarshi basu 的回答,您可能需要查看 https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes 进行比较,并询问在使用 Spring 时您可能希望由哪些组件处理哪些职责kubernetes 上的云