基础知识:容器在微服务架构中的角色

爱德华Kisller
2021-09-14 13:49

用户添加图片

企业应用程序部署的方法在过去二十年中发生了巨大的变化。作为低成本商品的服务器在90年代末和21世纪初取代大型机后,公司终于找到了一种负担得起的方式隔离他们相互之间的申请。他们能够部署一项主要服务到每个物理机器。他们可以配置每个服务器,以适应其托管的应用程序的资源和安全需求。这很方便,因为如果服务器宕机,只有一个应用程序会受到影响。这导致了巨大的增长数据中心内服务器的数量——这不仅变得越来越难以管理,而且导致许多服务器未得到充分利用。

然后来到了一个新的时代虚拟机(vm)。这使得相同的硬件可以承载,从而更好地利用计算资源2022世界杯阿根廷预选赛赛程多个服务器,每台机器都有自己的功能。然而,在过去的几年里,组织已经开始采用一种不同的方法分区基础设施还有一种新型的应用程序体系结构——使用容器而且microservices,分别。本指南简要解释了什么是容器和微服务——它们的优点、缺点以及它们之间的共生关系。

什么是容器?

容器是虚拟机提供的轻量级替代方案孤立的工作负载的操作环境。他们用不同的方法抽象2022世界杯阿根廷预选赛赛程资源。容器不使用管理程序,而是共享内核主机操作系统。因此,它们避免了成熟操作系统的基础设施开销,并且只提供那些资源(例如,2022世界杯阿根廷预选赛赛程安装依赖关系,代码你的应用程序实际需要的。这意味着它们可以更快地停止和开始响应波动的扩展要求,并提供比虚拟机更好的整体性能。

什么是微服务?

微服务架构是一种软件设计方法,将应用程序分解为多个微服务分布式阵列松散耦合服务的。每个微服务执行自己的特定功能独立构成应用程序的其他微服务。微服务可以部署到专用的VM中,在某些情况下,这样做是有意义的。然而,一般来说,微服务更适合容器,它提供细粒度控制超额的资源分配和更有效地使用您的计算能力。

优势

除了更好的性能和更低的基础设施占用,容器化的微服务通常比传统的单片应用程序更健壮。例如,如果您将整个应用程序部署到VM,当机器停机时,整个应用程序也会随之停机。但是,使用容器,您可以跨较小的虚拟机集群复制微服务。因此,在虚拟机故障的情况下,应用程序仍然能够使用集群中的其他微服务并继续工作。

用户添加图片

此外,你可以更新代码和补丁每个微服务的运行环境单独且独立,而不会引起故障中断对您的应用程序的整体运行,从而有助于消除停机检修时间

容器化的微服务也让开发人员的生活更轻松。每个微服务都是一个相对较小的独立组件,它允许编码器处理他们自己的特定任务,而不会不必要地卷入整个应用程序的复杂性中。此外,容器化应用程序使他们可以自由地用最适合自己的语言编写每个服务。

容器也高度便携,易于使用持续集成(CI)而且连续交付(CD)管道,这有助于进一步提高生产力。每个微服务都有一个更小的攻击表面并且与其他微服务隔离。这使得安全漏洞更难从一个集装箱传播到另一个集装箱。

缺点

尽管微服务架构正在迅速成为高可扩展性和高成本效益的工作负载的应用程序设计选择,但它是银弹。例如,它可能不适合遗产应用程序,其中涉及重新构建代码库的工作可能是复杂且成本高昂的后勤噩梦。

此外,基于微服务的应用程序更复杂的测试和部署。它们也是基于动态基础设施在美国,集装箱不断地启动和关闭。这可能会使部署、监视和管理更具挑战性。由于容器是一次性的、短暂的环境,因此需要一种将数据写入的方法持久存储在你的容器外面。

集装箱编配

容器编排工具为您提供了一种跨微服务集群提供、配置、协调、扩展和监视容器的方法。主要的开源解决方案包括Kubernetes便,以及Docker的原生集群引擎,.虽然Kubernetes使用最广泛,但每个产品都带来了一些略有不同的东西,例如灵活性、功能深度和易用性。

基本上,所有编排引擎都能够:

  • 在容器之间分配计算资源2022世界杯阿根廷预选赛赛程
  • 根据应用程序工作负载添加或删除容器
  • 管理容器之间的交互
  • 监视容器的运行状况
  • 平衡微服务之间的负载

Microservices模式

随着企业采用容器技术,解决方案架构师面临着如何最好地分解应用程序转换成更小的自治服务。微服务模式是一组已建立的模式拓扑该模型是给定应用程序的体系结构。

微服务模式的概念相对较新,仍在不断发展。不过,目前出现的共同模式是基于下列战略:

  • 分裂将为一系列用途而设计的大型遗留应用程序升级为执行更多离散业务功能的更小的容器化任务。
  • 逐步将应用程序中的现有功能替换为单个功能集装箱组件直到整个系统被完全重构。
  • 使用不同的微服务来服务不同的微服务浏览器的格式(台式机、手机和平板电脑)。
  • 创建两个复合容器服务只委托任务和单一的集中执行这些单独任务的微服务。
  • 设计一个服务网络最大的性能和弹性。

用户添加图片

了解容器更多信息

发布日期:2020年6月22日

最后更新:2021年3月17日