当前位置: 首页 > 知识库问答 >
问题:

Docker容器中的微服务

唐阳泽
2023-03-14

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

我正在使用Spring Cloud中的以下功能

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

假设我有100个微服务,那么我们需要100台服务器来维护每个微服务。所以我想到使用Kubernetes来解决这个问题,将每个微服务部署在一个单独的docker容器中,所以现在既然Kubernetes负责微服务健康检查、自动扩展、负载平衡,那么我需要再次使用Ribbon、Eureka和Zuul。

有人能帮我吗

共有2个答案

郜琦
2023-03-14

只是为了补充 saptarshi basu 的答案,你可能想看看 https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes,因为它会进行比较,并询问在 kubernetes 上使用 Spring cloud 时你可能希望哪些组件处理哪些职责。

阴雪风
2023-03-14

即使您使用Spring Cloud,100个服务并不意味着100个服务器。在Spring Cloud中,打包单元是Spring Boot应用程序,单个服务器可以托管许多这样的Spring Boot应用程序。如果需要,您可以将 Spring Boot 应用程序和其他 Spring Cloud 基础架构支持组件容器化。但这不是 Kubernetes。

如果你迁移到 Kubernetes,你不需要像 Zuul、Ribbon 等基础设施支持服务,因为 Kubernetes 有自己的组件,用于服务发现、网关、负载均衡器等。在 Kubernetes 中,打包单元是 Docker 镜像,一个或多个 Docker 容器可以放在一个 pod 中,这是最小的扩展单元。因此,Kubernetes 有一组不同的组件来管理微服务。

Kubernetes 是一个与 Spring cloud 不同的平台。两者都有相同的目标。但是,Kubernetes 具有一些附加功能,例如自我修复、自动扩展、滚动更新、计算资源管理、部署等。

 类似资料:
  • 我有一个运行Ubuntu的服务器,安装了Redis和Docker。我正在创建托管在Docker容器中的服务。如何将Docker容器中运行的服务与Docker外部运行的Redis连接起来? 我可以ping服务器。ioredis驱动程序无法连接到redis。错误:connect ECONREFUSE:6379

  • 从另一个服务或容器装入所有卷,可选地指定只读访问(ro)或读写(rw)。 注:容器:...格式只支持版本2文件格式。在版本1中,您可以使用容器名称,而不必将其标记为: 我在这里很困惑,容器和服务在这里有什么区别?

  • 我在曼宁的练习中练习docker。 技术配方是关于配置jenkins从站,即docker容器。 以下是jenkins_slave 我使用命令构建docker映像 然后,我使用命令将docker映像作为容器运行 然后,我使用下面的docker命令运行jenkins服务器 以下是节点配置详情 - 然后,我收到一条错误消息,说这个代理处于脱机状态,因为Jenkins未能在其上启动代理进程 下面是错误堆栈

  • 问题内容: 我已经开始使用docker进行开发,并进行以下设置: 主机-ubuntu服务器。 Docker容器-带有tomcat服务器的webapp(使用https)。 就主机-容器访问而言-一切正常。 但是 ,我无法从远程计算机(尽管仍然在同一网络中)访问容器的webapp。 跑步时 输出符合预期,因此docker的端口绑定看起来不错。 有任何想法吗? 谢谢! 问题答案: 我发现了我错过的内容,

  • 问题内容: 目前,我在需要连接到camunda的docker容器内运行一个node.js应用程序,该容器在另一个容器中运行。 我使用以下命令启动容器 这两个应用程序现在都在运行,我可以通过在端口8000上导航到主机的IP来访问camunda,运行wget 还会返回camunda页面。使用和键入我的应用程序容器时,我无法访问camunda。相反,我得到以下错误: 当我使用将我的应用程序容器链接到ca

  • 本文向大家介绍容器在微服务中的用途是什么?相关面试题,主要包含被问及容器在微服务中的用途是什么?时的应答技巧和注意事项,需要的朋友参考一下 容器是管理基于微服务的程序以便单独开发和部署它们的好方法。你可以将微服务封装在容器镜像及其依赖项中,然后可以用它来滚动开发按需实例的微服务而无需任何额外的工作。