微服务是大型架构的核心,下面我重点详解微服务部署@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 平台自动化处理。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》