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

什么是集中式

集中式架构就是将项目集中存储在中央服务器中,在工作的时候,大家只要自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给中央服务器保存。这种方式需要联网,典型的例子就是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. 解决plt.savefig存的图是空白的
  2. 注解不自动导包_玩转SpringBoot2.X:SpringBoot自动配置原理大揭秘
  3. 借助TensorFlow框架,到底能做什么?
  4. 苹果依旧强大 物联网领域举足轻重
  5. 装修相片(第50天拍,全部,25号更新)
  6. 55个好习惯可令世界更美好(2)
  7. No resource found that matches the given name 'Theme.AppCompat.Light'.
  8. 电脑销售渠道_小镇购买电脑遇难题:渠道少,价格无从比较!
  9. [转载] python中try Except抛出异常使用方法
  10. 数据改写-数据科学导论
  11. 开发公链社群币种钱包系统软件
  12. java并发包和类总结-JUC总结
  13. 虚拟手游服务器,自己搭建手机游戏服务器
  14. 微信表情包小程序源码
  15. 获取手机IMEI/ICCID/IMSI
  16. Java学习day096 并发(六)(线程安全的集合:高效的映射、集和队列、映射条目的原子更新、对并发散列映射的批操作、并发集视图、写数组的拷贝、并行数组算法、较早的线程安全集合)
  17. 用于传感器互操作性问题的指纹匹配系统的大规模研究
  18. 如何学习一门编程语言,从入门到不放弃!
  19. textarea 中的换行、空格; 如何处理
  20. 你的样子抖音版,架子鼓版

热门文章

  1. 比尔·盖茨:2019 年这 10 大技术必成潮流!
  2. 局域网内搭建SFTP服务器及多用户管理
  3. Linux 的md5sum命令
  4. 限制 上传文件大小 和 尺寸
  5. 制作《王者荣耀》需要学习哪些技术?
  6. vim 显示行号 (Linux)
  7. 解决MATLAB问题 Invalid MEX-file 'E:\vlfeat-0.9.20\toolbox\mex\mexw64\vl_svmtrain.mexw64': 找不到指定的模块
  8. 趣说三次握手、四次挥手:遇到心动小姐姐,如何去把握?
  9. 从Python列表创建数组
  10. IOS OpenGL ES GPUImage 图像缩放 GPUImageTransformFilter