摘要:微服务多实例部署,就是不同微服务,分布在多个服务器、或虚拟机实例上部署。
微服务部署是微服务非常重要的环节,下面详解4种常见的微服务部署模式@mikechen
本文作者:陈睿|mikechen
文章来源:mikechen.cc
微服务多实例部署
微服务多实例部署,就是不同微服务,分布在多个服务器、或虚拟机实例上部署。
如下图所示:
每个微服务运行在独立的节点上,这些节点可以是物理服务器、虚拟机,或者云实例。
服务通过网络,比如:HTTP、gRPC...等进行通信。
优点:
提高了资源利用率、和系统的容灾能力,并且,各微服务可以独立扩展。
缺点:
配置、和维护复杂性增加。
微服务容器化部署
微服务容器化部署,是指将微服务应用,打包成轻量级的容器镜像,比如:Docker。。。等等,进行管理和部署。
如下图所示:
采用这种方式,微服务运行在容器(如:Docker..)中,容器可轻松迁移和扩展。
轻量化:一次构建,随处运行;弹性伸缩:容器,可以根据负载动态扩展;快速部署:镜像,可以快速启动、和分发;隔离性:微服务运行互不干扰。缺点:
学习成本较高,容器编排工具的管理需要额外的技术能力。
微服务Serverless部署
Serverless 部署, 是一种基于云计算的架构,开发者无需管理底层服务器资源,而是专注于编写代码。
微服务按需执行,运行在云平台提供的无服务器架构上。
如下图所示:
服务通过事件触发运行,按执行时间、和调用次数收费。
优点:
降低了基础设施管理、和成本。
还有一个比较大的优点,就是:自动扩展,按使用量付费,性价比高。
缺点:
依赖云厂商,可能存在锁定风险。
微服务Service Mesh部署
微服务通过独立的网格代理,比如:Istio、Linkerd...等等进行通信、和管理。
如下图所示:
优点:
强大的服务治理能力,比如:可观测性、故障恢复...等等,还可以,降低开发者管理服务间通信的负担。
缺点:
增加了系统复杂性,对计算资源要求较高。
来源:我就是我的科技