微服务和容器之间是什么关系?

参与118

14同行回答

wykkxwykkx系统架构师某基金公司
现在一提到微服务,有很多人会想到容器技术(这里说到的容器技术是指docker)。那么微服务和容器之间到底有什么关系呢,我来简要和大家探讨下。先抛出结论:微服务和容器其实没有半毛钱关系。微服务理念出现的比容器技术要早很多,其理念是在70年代提出的。而容器技术是2013年才提出...显示全部

现在一提到微服务,有很多人会想到容器技术(这里说到的容器技术是指docker)。那么微服务和容器之间到底有什么关系呢,我来简要和大家探讨下。先抛出结论:微服务和容器其实没有半毛钱关系。微服务理念出现的比容器技术要早很多,其理念是在70年代提出的。而容器技术是2013年才提出的,它最初是由一个叫做dotcloud的项目发展而来,后来改名叫做docker。基于微服务的思想开发应用程序是完全可以不用容器技术的,例如现在很流行的spring cloud和dubbo都是可以不使用容器技术来做开发实现的。从2017年开始很多人喜欢同时提到微服务和容器化,这主要是基于以下几个原因:(1)按照微服务的理念,如果使用容器作为基础设施,能够实现快速部署,快速迭代;(2)在云计算浪潮中,容器作为替代vm的基础设施受到大家的关注度更高;(3)k8s作为几乎实际默认的容器化平台标准,其集成了配置中心和注册中心,相当于天然的帮微服务架构解决了自己开发配置中心和注册中心的问题。在我看来,以上三个是促使在2017年度很多时候,大家会将微服务和容器技术一起谈论的重要原因,甚至有些公司直接将自己的新建的微服务应用部署在容器平台上。

收起
基金 · 2018-08-30
浏览32767
nuaaysnuaays技术经理信而富
容器是一种新的软件交付方式,它把应用和其运行环境以一个标准镜像格式打包, 能保证应用及其运行环境的统一,并能在装有Docker环境上以容器方式运行,不管宿主机是什么环境微服务是应用软件架构设计模式,推崇单一职责、服务自治、轻量通信和接口明确等原则, 基于此,容器可以比较好...显示全部

容器是一种新的软件交付方式,它把应用和其运行环境以一个标准镜像格式打包, 能保证应用及其运行环境的统一,并能在装有Docker环境上以容器方式运行,不管宿主机是什么环境

微服务是应用软件架构设计模式,推崇单一职责、服务自治、轻量通信和接口明确等原则, 基于此,容器可以比较好的配合使微服务易于开发和维护、按需伸缩等

收起
互联网服务 · 2018-08-31
浏览32767
李守超李守超系统架构师博云
微服务是一种架构风格,是一种使用一套小服务来开发大型复杂软件应用的方式途径。容器是一种运行时技术,允许许多应用以互相隔离的方式运行在虚拟机、物理机等之上。同时,分层的容器镜像技术、类似Kubernetes的容器编排技术等的出现,使得运维人员管理成百上千的应用实例变成了...显示全部

微服务是一种架构风格,是一种使用一套小服务来开发大型复杂软件应用的方式途径。
容器是一种运行时技术,允许许多应用以互相隔离的方式运行在虚拟机、物理机等之上。同时,分层的容器镜像技术、类似Kubernetes的容器编排技术等的出现,使得运维人员管理成百上千的应用实例变成了非常简单的一件事情。
所以可以看到,使用容器技术作为微服务架构的基础,是非常自然不过的选择。

收起
软件开发 · 2019-05-28
浏览32767
zhjun1023zhjun1023产品经理博云
刚接触容器的人,可以将容器与虚拟机类比来看,那么微服务是部署在容器中,或虚拟机中,或物理服务器中,都是可以的。但是容器有其独特的优势,快速启停,独立进程等,可以弥补很多的微服务运维上的缺点,所以两者可以说是黄金搭档。但是两者本身没有依赖性,都是独立的东西,只是两者的理念结...显示全部

刚接触容器的人,可以将容器与虚拟机类比来看,那么微服务是部署在容器中,或虚拟机中,或物理服务器中,都是可以的。
但是容器有其独特的优势,快速启停,独立进程等,可以弥补很多的微服务运维上的缺点,所以两者可以说是黄金搭档。
但是两者本身没有依赖性,都是独立的东西,只是两者的理念结合,会更加完美。

收起
软件开发 · 2019-05-27
浏览32767
youki2008youki2008系统架构师DDT
微服务与容器之间不存在关联性。只是微服务可以部署在容器中来运行。 容器只是微服务的一种新的软件交付方式而已。显示全部

微服务与容器之间不存在关联性。只是微服务可以部署在容器中来运行。 容器只是微服务的一种新的软件交付方式而已。

收起
互联网服务 · 2020-04-24
浏览9471
狄俄尼索斯狄俄尼索斯软件架构设计师UProject
容器是基础设施,微服务是架构模式。两者是相辅相成的,容器技术成熟给微服务实践带来了很多便利。显示全部

容器是基础设施,微服务是架构模式。两者是相辅相成的,容器技术成熟给微服务实践带来了很多便利。

收起
互联网服务 · 2019-07-20
浏览30677
lonelybluelonelyblue研发工程师tyt
容器是一种打包格式,抹平开发、测试、SIT、UAT、准生产和生产的环境差异;另外容器是半虚拟化,对于宿主机资源占用率低,以宿主机的进程方式存取基于容器镜像的分层文件系统,对于宿主机资源利用率提升很大。微服务是一种架构风格,轻量级分布式部署, 相对于单体应用来说复杂度高 ,需...显示全部

容器是一种打包格式,抹平开发、测试、SIT、UAT、准生产和生产的环境差异;另外容器是半虚拟化,对于宿主机资源占用率低,以宿主机的进程方式存取基于容器镜像的分层文件系统,对于宿主机资源利用率提升很大。
微服务是一种架构风格,轻量级分布式部署, 相对于单体应用来说复杂度高 ,需要微服务治理体系和工具的辅助配合。
容器对于DevOps的帮助,例如适合CICD的构建过程无状态化,配合K8S的强大编排引擎适合进行开发、测试、SIT等环境快速拉起,结合普罗米修斯监控系统和微服务的分布式链路跟踪帮助快速排障等,提升开发运维一体化成熟度。

收起
IT咨询服务 · 2019-10-31
浏览12873
zftangzftang其它小白一枚
两个技术路线显示全部

两个技术路线

收起
互联网服务 · 2020-05-07
浏览9340
else_xieelse_xie系统运维工程师NZX
没有容器,给微服务资源颗粒度的细化提供了更多可能,否则运维怎么搞。显示全部

没有容器,给微服务资源颗粒度的细化提供了更多可能,否则运维怎么搞。

收起
保险 · 2023-11-10
浏览795
wojiaoshishi321wojiaoshishi321项目经理内蒙古妇幼保健院
微服务和容器是两个不同的概念,但它们之间存在密切的关系。微服务是一种软件架构风格,它将一个大型应用程序拆分为多个小型服务,每个服务都可以独立开发、测试、部署和扩展。每个微服务都可以通过独立的 API 进行通信,这样可以提高应用程序的灵活性和可伸缩性。而容器是一种...显示全部

微服务和容器是两个不同的概念,但它们之间存在密切的关系。

微服务是一种软件架构风格,它将一个大型应用程序拆分为多个小型服务,每个服务都可以独立开发、测试、部署和扩展。每个微服务都可以通过独立的 API 进行通信,这样可以提高应用程序的灵活性和可伸缩性。

而容器是一种虚拟化技术,它可以在一个宿主机上运行多个独立的应用程序或服务,每个容器都有自己的文件系统、运行时环境和资源隔离。容器可以快速、轻量级地部署和启动,可以在不同的环境中运行,保证了应用程序的可移植性。

微服务通常是通过容器来实现部署和运行的。在微服务架构中,每个微服务通常被打包成一个容器镜像,这个镜像包含了服务所需要的代码、运行时环境和依赖项等。这样可以保证每个微服务都运行在独立的容器中,隔离彼此,互不影响,同时也可以方便地进行部署、扩展和管理。

因此,微服务和容器之间是一种相互依存的关系。容器为微服务提供了一个轻量级、可移植和可靠的运行环境,微服务通过容器实现了部署和管理的灵活性和可扩展性。

收起
医院 · 2023-03-29
浏览2030

提问者

小遥yao
系统工程师某保险
擅长领域: 云计算容器云原生

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-08-30
  • 关注会员:17 人
  • 问题浏览:75798
  • 最近回答:2023-11-10
  • X社区推广