系统大PK:集中式VS分布式,计算机世界的格斗之战

什么是集中式系统?

集中式系统是指把整个系统的所有功能,比如数据库、缓存等这些全都部署在一起,然后通过整套系统对外提供服务。但是集中式系统存在大而复杂、难以维护、容易发生单点故障、扩展性比较差等问题。然而这些问题在分布式系统中就可以很好地解决。

什么是分布式系统?

分布式系统是相对相对于集中式系统而言的,分布式系统是指将一个集中式的系统拆分成多个系统,然后每一个系统单独对外提供部分功能,整个分布式系统整体对外提供一整套服务。但是对于访问分布式系统的用户来说,其感知就如同在访问一台计算机一样。

分布式系统即通过利用多台普通计算机(相对于昂贵的大型机)组成分布式集群,对外提供系统服务。随着计算机台数的增加,CPU、内存、存储资源等计算机资源也不断变多,该系统可以处理的并发访问量也就越大,但是随之而来也带来了一些问题,由于是集群部署,不是在一台机子上,所以该系统可能存在许多问题,如网络通信延迟、数据一致性等问题。

这里我们拿一个电商网站来举例(主要是电商网站一般功能比较齐全,很多场景都能学习到),我们这里把这个电商系统拆分成多个子系统,比如订单系统、购物车系统、物流系统、支付系统等。我们把不同的模块部署到不同的机器上,各个模块之间通过RPC(Dubbo、gRPC)即远程服务调用等方式进行通信,然后以一个分布式系统的方式对外提供服务。

分布式与集群之间的区别?

分布式(Distributed) 是指在多台不同的服务器中部署不同的服务模块, 通过远程调用的方式相互之间进行协同工作,然后对外提供服务。

集群(cluster) 是指在多台不同的服务器中部署相同的应用或者服务模块,构成一个集群,通过请求负载均衡的方式对外提供服务。

那如何理解集群与分布式之间的区别呢?你可以通过一个案例来理解,集群的话就是一个组织里的所有人都干同一件事情,比如,百度搜索,这个在每个人的电脑上其都是一样的,主要负责搜索的业务,而分布式就是指一个团队中每部分人负责一部分的内容,比如阿里里面,有些人负责淘宝业务的内容,有些人负责阿里云业务·······每部分人负责的业务有所差异,这种就是分布式。

分布式系统的特征

分布式系统需要各个主机之间通信和协调主要通过网络进行,所以,分布式系统中的计算机在空间上几乎没有任何限制,这些计算机可能被放在不同的机柜上,也可能被部署在不同的机房中,还可能在不同的城市中,对于大型的网站甚至可能分布在不同的国家和地区。

但是,无论空间上如何分布,一个标准的分布式系统应该具有以下几个主要特征:

  1. 分布性

分布式系统中的多台计算机之间在空间位置上可以随意分布,系统中的多台计算机之间没有主、从之分,即没有控制整个系统的主机,也没有受控的从机。

  1. 透明性

系统资源被所有计算机共享。每台计算机的用户不仅可以使用本机的资源,还可以使用本分布式系统中其他计算机的资源(包括CPU、文件、打印机等)。

  1. 同一性

系统中的若干台计算机可以互相协作来完成一个共同的任务,或者说一个程序可以分布在几台计算机上并行地运行。

  1. 通信性

系统中任意两台计算机都可以通过通信来交换信息。

相比集中式系统,分布式系统有什么优势与不足?

和集中式系统相比,分布式系统的性价比更高、处理能力更强、可靠性更高、也有很好的扩展性。但是,分布式在解决了网站的高并发问题的同时也带来了一些其他问题。

  1. 分布式的必要条件就是网络,这可能对性能甚至服务能力造成一定的影响。
  2. 一个集群中的服务器数量越多,服务器宕机的概率也就越大。
  3. 由于服务在集群中分布式部署,用户的请求只会落到其中一台机器上,所以,一旦处理不好就很容易产生数据一致性问题。
相关推荐
Java程序之猿1 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
来一杯龙舌兰1 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
节点。csn3 小时前
Hadoop yarn安装
大数据·hadoop·分布式
NiNg_1_2344 小时前
基于Hadoop的数据清洗
大数据·hadoop·分布式
隔着天花板看星星6 小时前
Spark-Streaming集成Kafka
大数据·分布式·中间件·spark·kafka
技术路上的苦行僧10 小时前
分布式专题(8)之MongoDB存储原理&多文档事务详解
数据库·分布式·mongodb
龙哥·三年风水10 小时前
workman服务端开发模式-应用开发-后端api推送修改二
分布式·gateway·php
小小工匠11 小时前
分布式协同 - 分布式事务_2PC & 3PC解决方案
分布式·分布式事务·2pc·3pc
闯闯的日常分享13 小时前
分布式锁的原理分析
分布式
太阳伞下的阿呆14 小时前
kafka常用命令(持续更新)
分布式·kafka