📅  最后修改于: 2023-12-03 15:36:50.490000             🧑  作者: Mango
分布式系统是由多个独立计算机组成的系统,这些计算机对外呈现出单个系统的感觉和表现.
提供了一系列优良的特性,例如可扩展性、高可用性和容错性等等。
集中式系统是常见的传统架构,其中所有计算发生在单个系统内。
这意味着单个系统负责所有请求。 因此,所有资源和计算功能都位于同一位置。
示例应用: 传统的 Monolithic 应用程序就是一个例子
对称式系统中,每个节点都有相同的功能和操作系统。 这使得系统高度可伸缩,因为可以动态地添加新的节点。
然而,这种系统也更加复杂,并可能需要更多的资源来维护。
示例应用: Cassandra 是一个开源的对称式数据库。
主从式系统中,一个节点(主节点)负责处理所有请求。 副本节点接收来自主节点的更新并将其同步。 这种系统可用性和可靠性较高。
主服务器故障时,副本服务器能够自动接管并提供服务。
示例应用: MySQL 数据库使用主从式结构。
在客户端-服务器式系统中,客户端提交请求并接收响应。 服务器(或服务器群集)处理该请求并提供服务。
这种系统允许服务器端进行优化,例如缓存和负载均衡。
示例应用: Web 应用程序就是一个客户端-服务器式系统。 用户通过 Web 浏览器发出请求,并从服务器端获得响应。
对等式系统由相互通信的对等节点组成,而不是单个主服务器。
这种系统背后的理念是:允许任何节点可以是服务提供者和服务消费者。
示例应用: BitTorrent P2P 文件共享协议是一个典型的对等式系统。
以上列举了最常见的分布式系统类型,每种类型有自己的特点和适应场景。
程序员应该针对不同的需求和应用场景选择适合的分布式系统类型。