原标题:集中式架构与分布式架构,你了解多少?

什么是集中式

集中式架构就是将项目集中存储在中央服务器中,在工作的时候,大家只要自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给中央服务器保存。这种方式需要联网,典型的例子就是SVN。

图1 集中式架构示意图

缺点:

1.如果网络出现问题或者网速慢的时候,直接影响工作效率。如果是中央服务器挂了,那就集体喝茶去了不用工作。

2.还有一种情况,各自电脑中操作的所有软件工具,都存放在一个中央服务器上(现在流行叫云服务器),只需要用各自电脑登陆连接到云服务器上,(一般服务器都是用linux),比如用ps工具,大家其实用的是云服务器中的同一个ps 软件,在使用率高的情况下,ps会出现异常,当用ps筛选颜色的时候,已经混乱,无法正常选择颜色,这个情况是我在开发中遇到的。以前我们是每个人用各自安装的ps,但是在这样的环境下用的是同一个ps软件的时候就会bug。

3.安全度不高,重要的东西都放在一个中央服务器中,如果被黑,那损失就大了。

优点:

1.减少了硬件和软件成本,硬件不用说了,现在流行盒子,一个小盒子只要连上中央服务器即可,以前都是一个个的主机箱,那成本大多了。如果用到工具软件需要收费,只需买一套正版就OK了。

什么是分布式

分布式架构:只要提供一台电脑作为版本集中存的服务器放就够了,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它也一样干活,只是交换修改不方便而已。而每一台电脑有各自独立的开发环境,不需要联网,本地直接运行,相对集中式安全系数高很多。经典的列子就是GIT。

图2 分布式架构示意图

核心要素对比

以下是两种架构的核心要素的对比分析:

业务支撑能力比较

客观讲,分布式架构在价格成本、自主研发、灵活兼容、伸缩扩展方面有比较显著的优势。互联网行业具有请求量大,数据量大的特点,业务上又可能在集中的时间段出现高于日常流量数倍的业务高峰,这些特征对架构的可扩展性提出了极高的要求。

在集中式架构下,为了应对更高的性能,更大的数据量,往往只能向上升级到更高配置的机器,如升级更强的CPU,升级多核,升级内存,升级存储等,一般这种方式被称为Scale Up,但单机的性能永远都有瓶颈,随着业务量的增长,只能通过 Scale Out的方式来支持,即横向扩展出同样架构的服务器。在集中式架构下,由于单个服务器的造价昂贵,所以 Scale Out的方式成本非常高,无法做到按需扩展。而分布式架构的解决方案是基于廉价的PC Server 来做 Scale Out,,借助高速网络组建的PC集群在整体上提供的计算能力已大幅高于传统主机,并且成本很低,横向的扩展性还可带来系统良好的成长性。

在分布式架构下,可支持按需扩展,唯一的要求是在设计上保持每个应用节点不保存状态信息。随着业务量从几百笔/秒到几万笔/秒级别时,需要更多的服务器来支撑,数据库单表的性能会成为瓶颈。数据量也会从GB迅速飙升到 TB、PB,单数据库实例的容量也会成为瓶颈。数据层会采用分库分表的策略来支持业务量的增长,具体策略根据业务场景可分为垂直拆分(按业务)、水平拆分(按请求/用户做哈希,或者做区间拆分)、读写拆分等。最后会通过统一分布式数据访问组件来屏蔽数据扩展的复杂性。下图简单描绘了服务器扩展性(应用层)和数据层可扩展(持久层)的形态:

图3 应用层和数据层弹性伸缩架构示意图

随着业务的发展,应用和数据层弹性伸缩也会受限于到单个机房的电力、面积、散热等物理条件的制约而无法Scale Out,同城的机房个数也是有限的,所以势必要从机房层面支持弹性的可伸缩。蚂蚁的业务规模早在两年前就已突破这个规模,因此进行了机房单元化改造,其架构核心思想是把数据水平拆分的思路向上提升到接入层、终端层。从接入层开始,把原来部署在一个IDC 中的系统集群,进一步分成多个更细粒度的部署单元,从而达到机房级别的扩展。下面为这种架构的示意图:

图4 单元化架构示意图

下表总结了两种架构模式在业务支撑的几个方面的比较:

总结

说到这里,相信大家都明白了什么是分布式架构和集中式结构,还有它们的差异性,我们通过对集中式和分布式架构几个方面来比较,分布式架构在安全自主、灵活性、经济性、可伸缩性等方面有明显优势,随着当今社会系统需要处理的数据量越来越大,分布式架构在这方面的优势也会越来越明显。集中式系统在可一致性、维护性方面有优势,数据只有单一来源,不会出现数据的不一致性,而分布式系统需要达到同等或更高的可维护性与高一致性,需要通过先进的分布式中间件与大规模运维平台来支持。如何选择使用分布式架构和集中式架构,不是通过简单对比就能得出结论,还需要考虑自身的经济条件,使用场景。返回搜狐,查看更多

责任编辑:

多服务器分布式系统架构,集中式架构与分布式架构,你了解多少?相关推荐

  1. 架构设计(2)---分布式架构的演进过程

    分布式架构的演进过程 一.分布式架构的发展历史 1946年,世界上第一台电子计算机在美国的宾夕法尼亚大学诞生,它的名字是:ENICAC ,这台计算机的体重比较大,计算速度也不快,但是而代表了计算机时代 ...

  2. 集中式数据处理和分布式数据处理的优缺点

    建立网络的主要目的就是参与人员互相协作并共享资源,包含可许多不同计算机的网络,机器之间在物理上通过硬件连接在一起,在软件的控制下完成各种通信任务. 网络系统开发的一个重要问题,就是如何配置不同的设备来 ...

  3. postgresql 分区视图_PostgreSQL架构集中式到分布式主流架构总结

    文章目录 一.PG未来主流架构为什么是分布式二.PostgreSQL集中式到分布式架构总结 一.PG未来主流架构为什么是分布式 如果说5年前DB的分布式还只是一种趋势,如今分布式数据库正逐渐从趋势变成 ...

  4. 电源架构--集中式电源架构/分布式电源架构

    这里写目录标题 概述 隔离式电源 集中式电源架构 分布式电源架构: 个人理解 概述 · 集中式电源架构(CPA):效率高,但成本高,PCB占用面积大. · 分布式电源架构(DPA):节省成本和PCB占 ...

  5. 阿里P8架构师深度概述互联网分布式架构

    简介 作为一名架构师,我们要专业,要能看懂代码,及时光着臂膀去机房,也能独挡一面!及时同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议室上滔滔不绝,如若无人,让不懂技术 ...

  6. php项目分布式架构设计,【转】互联网项目架构之基于服务的分布式架构

    以前一直找一篇通俗易懂的文章,今天终于找到了,记录下. 文章来源:赵小忠 文章地址:https://www.cnblogs.com/1315925303zxz/p/6371550.html 随着互联网 ...

  7. 集中式版本控制与分布式版本控制

    文章目录 集中式版本控制 分布式版本控制 引用 集中式版本控制 所有的版本数据都存在服务器上,用户的本地设备就只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或 ...

  8. 集中式版本控制 VS 分布式版本控制

      目前企业使用的版本控制系统基本上都是 Git 和 SVN.其中 SVN 是集中式的版本控制系统,而 Git 是分布式的版本控制系统.那么它们之间有什么区别呢? 集中式版本控制系统   集中式版本控 ...

  9. 集中式开发和分布式开发的区别

    集中式VS分布式 集中式开发:是将项目集中存放在中央服务器中,在工作的时候,大家只在自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给中央服务器保存.这种方式需要联网,现在云开 ...

最新文章

  1. k8s mysql operator_将 MySQL 通过 presslabs/mysql-operator 部署到 k8s 内部
  2. Host is not allowed to connect to this MySQL server解决方法
  3. ifix如何设画面大小_ifix5.1环境下的ifix服务器、客户端配置
  4. Perlin Noise algorithms(备忘)
  5. Android 组件系列-----Activity的传值和回传值
  6. 回文算法java实现_java算法题:最长回文串
  7. 水滴石穿之页面遮罩层实现、向window.open()打开的窗口POST数据
  8. ubuntu或者fedora下编译淘宝tair key-value-db的开源内存数据库
  9. p语言是python吗-Python语言
  10. TortoiseGit客户端安装及使用(上传代码到git@osc
  11. 千层浪软件下载_千层浪app聚合
  12. java代码生成可识别二维码
  13. 推好单-好券app是怎么代理分享赚钱的?
  14. python怎么激活_Python窗口激活
  15. Xpath根据text内容快速定位
  16. PT站的分享精神,我所向往的PT分享模式(原创)
  17. POJ 1861 Network(KUS算法)
  18. css3 做一个漂亮的分割线
  19. 系统镜像的方法,大批量电脑重装的方法
  20. MYSQL数据库--存储引擎

热门文章

  1. 新浪微博新动作 以网络安全之名联合安全联盟
  2. 当初为啥选了前端,却没选后端、算法岗?
  3. 论文写作中的一些小问题
  4. ImageIO读取图片出现一层红色背景解决方案
  5. Apriori关联规则挖掘算法函数
  6. 如何将PDF转成JPG?
  7. 清除transtion闪屏
  8. 安卓虚拟机_【Mac软件】好用的安卓虚拟机 | Mac上运行安卓
  9. mysql pt-kill_percona 实用工具之pt-kill使用介绍
  10. vs code显示大纲(函数方法列表)方法