微服务是大型架构的核心,下面我重点详解微服务部署@mikechen
微服务多实例部署
将多个微服务实例,部署在同一个 虚拟机 (VM) 或 物理主机 上。
每个服务实例,作为主机上的一个独立进程运行。
适用场景:资源有限的小型团队;服务数量较少,且对资源隔离要求不高的场景。

优势: 部署简单快捷,资源利用率高(多个服务共享操作系统和硬件)。
不足:如果某个服务出现资源泄露或崩溃,可能会影响同一主机上的所有其他服务。
微服务容器化部署
将每个微服务及其所有依赖项,打包成一个 轻量级的容器镜像(如 Docker)。
每个服务实例都在一个独立的容器中运行,容器之间共享操作系统的内核。
这是目前 最主流、最推荐 的微服务部署模式,通常以 Docker + Kubernetes (K8s) 的形式出现。

优势: 启动速度快(秒级);
资源消耗低(容器比 VM 轻量);
环境一致性高(“Build once, run anywhere”);
不足: 需要引入容器编排工具(如 K8s),增加了学习成本和运维复杂度。
微服务 Serverless 部署
这是一种新兴且彻底的部署模式,代表了云原生的终极形态。
开发者只需关注业务代码(函数),将代码部署到云平台(如 AWS Lambda, Azure Functions, 阿里云函数计算)。
云平台负责管理基础设施、自动扩缩容,并按照实际函数调用次数收费。

优势: 极致的运维简化(无需关心服务器、操作系统)。
按需付费,成本效益高;自动伸缩能力强。
不足: 受限于云平台的运行时环境和资源限制;难以管理长连接和状态。
微服务编排部署
Kubernetes 是一个开源的容器编排平台,它极大地简化了微服务的部署、扩展和管理。
K8s 的作用可以概括为对微服务应用的 自动化 管理、和 弹性 保证。

K8s 可以通过 水平 Pod 自动伸缩器, 监控微服务的 CPU 利用率或自定义指标。
当负载增加时,K8s 会自动增加 Pod 副本数量。
当负载降低时,则会自动减少,实现资源的最大化利用。
简单来说,Kubernetes 扮演了一个 “微服务操作系统” 的角色。
它将底层的物理基础设施抽象化,让开发者可以专注于业务逻辑。
而将复杂的部署、运维、伸缩和自愈等工作交给 K8s 平台自动化处理。