分布式部署是一种将应用程序或服务分散到多个计算机或服务器上,以便更有效地处理大量数据或请求的技术。这种架构可以提高系统的可扩展性、可靠性和性能。以下是分布式部署的四种主要架构:
1. "客户端/服务器(Client/Server)架构"
在这种架构中,客户端负责发送请求,服务器负责处理请求并返回结果。
客户端和服务器通常位于不同的计算机或网络位置。
这种架构的优点是简单、易于实现和管理。
缺点是当服务器负载过高时,可能会影响客户端的响应时间。
2. "对等(Peer-to-Peer, P2P)架构"
在P2P架构中,每个节点既是客户端也是服务器,它们可以直接相互通信和共享资源。
这种架构的优点是去中心化、可扩展性强。
缺点是管理和维护较为复杂,且在节点数量较多时,系统的性能可能会受到影响。
3. "三层(Three-Tier)架构"
三层架构将应用程序分为三个层次:表示层(用户界面)、业务逻辑层和数据访问层。
表示层负责与用户交互,业务逻辑层负责处理业务规则和数据,数据访问层负责与数据库交互。
这种架构的优点是模块化程度高,易于维护和扩展。
缺点是当业务逻辑层负载过高时,可能会影响系统的性能。
相关内容:
分布式是大型架构的核心,下面我重点详解分布式部署@mikechen
架构简单,部署快速,适合开发测试和小型项目。缺点是扩展性差,单点故障风险高,难以满足高并发和大规模需求。
垂直拆分部署这是从单体向分布式迈出的第一步,解决了应用代码量过大的问题。核心特点:按业务线(如前台商城、后台管理)将应用彻底拆分为多个独立的应用。
部署目标:降低应用复杂度,实现团队和应用独立部署。数据结构:应用独立,但可能仍共享同一个中央数据库,数据耦合未解决。演进方向:解决代码复杂性,但无法解决数据层扩展瓶颈。
微服务部署将应用按功能,分解为更细粒度的微服务(如用户服务、订单服务)。每个服务都是一个独立的、完整的业务单元。每个微服务拥有自己的专属数据库(Database Per Service),实现了服务和数据的彻底解耦。
分布式微服务部署强调自治、可独立扩展与多技术栈并存,利于提升系统可维护性与上线频率。与此同时,微服务带来更高的分布式系统复杂性。比如:服务发现、负载均衡、容错、分布式事务与监控均需完善的基础设施支持,且运营与测试成本显著上升。
分布式容器化部署利用 Docker + Kubernetes(K8S) 实现分布式服务的容器化部署、自动编排与弹性扩容。
每个微服务以容器为单位独立运行;通过 K8S 实现自动调度、负载均衡与自愈;支持灰度发布、滚动更新、弹性伸缩。
文章来源:mikechen.cc
单体集中式所有功能模块(如用户、订单、商品、支付)都打包在一个应用中,部署在一台或少数几台服务器上。
架构简单,部署快速,适合开发测试和小型项目。缺点是扩展性差,单点故障风险高,难以满足高并发和大规模需求。垂直拆分部署这是从单体向分布式迈出的第一步,解决了应用代码量过大的问题。核心特点:按业务线(如前台商城、后台管理)将应用彻底拆分为多个独立的应用。
部署目标:降低应用复杂度,实现团队和应用独立部署。数据结构:应用独立,但可能仍共享同一个中央数据库,数据耦合未解决。演进方向:解决代码复杂性,但无法解决数据层扩展瓶颈。微服务部署将应用按功能,分解为更细粒度的微服务(如用户服务、订单服务)。每个服务都是一个独立的、完整的业务单元。每个微服务拥有自己的专属数据库(Database Per Service),实现了服务和数据的彻底解耦。
分布式微服务部署强调自治、可独立扩展与多技术栈并存,利于提升系统可维护性与上线频率。与此同时,微服务带来更高的分布式系统复杂性。比如:服务发现、负载均衡、容错、分布式事务与监控均需完善的基础设施支持,且运营与测试成本显著上升。分布式容器化部署利用 Docker + Kubernetes(K8S) 实现分布式服务的容器化部署、自动编排与弹性扩容。
每个微服务以容器为单位独立运行;通过 K8S 实现自动调度、负载均衡与自愈;支持灰度发布、滚动更新、弹性伸缩。
微信扫一扫打赏
支付宝扫一扫打赏