背景:

初代的服务器架构往往比较简单,应用程序、数据库、文件、代码等所有资源都放在一台服务器上,也就是单机结构。随着企业业务量的增多,一台服务器已经难以满足数据处理的需求了,那么对单机进行“复制粘贴”,就能收获一个处理能力高出好几倍的“服务器集群”。

不过,集群式扩展很容易到达物理上限,最直接的反映就是无论怎么增加节点,整个集群的性能似乎也没有被提升多少,这时候,就需要分布式系统登场了。

如果说分布式系统代表着网络服务的发展方向,那么云计算的社会化,可能是其快速普及的重要推手。

集中式架构、分布式架构、微服务架构图解

什么是分布式?

所谓分布式,就是将不同的服务模块部署在多台不同的服务器上,然后通过远程调用协同工作,共同对外提供服务。对于用户来说,就像是一台计算机在服务一样。

在实际业务中,分布式系统可以将不同的业务功能对应到一个个独立的子系统中去,比如针对电商平台,可以将用户服务、产品服务、店铺管理、数据分析等不同的数据处理项目部署在不同的计算机集群上。这些独立的集群可能是在不同的机房,甚至是不同的城市中,有的大型数据中心还会分布在不同的国家和地区。它们之间通过RPC消息传递进行通信和协调,再向用户提供服务。

在分布式系统的背景下,企业架构也由早期的单体式应用架构渐渐转为更加灵活的分布式应用架构,经历了单体分层架构、SOA 服务化架构、微服务架构、云原生架构等不同架构模式的变迁。后端开发不再局限于单一技术栈,并且为了应对更加庞大的集群规模,单纯的分布式系统已经难于驾驭,因此技术圈开启了一个概念爆发的时代:SOA、DevOps、容器、CI/CD、微服务、Service Mesh 等概念层出不穷,而 Docker、Kubernetes、Mesos、Spring Cloud、gRPC、Istio 等一系列产品的出现,标志着云时代已真正到来。

服务端开发与架构全景图

分布式缺点

分布式场景下比较著名的难题就是 CAP 定理。CAP 定理认为,在分布式系统中,系统的一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance),三者不可能同时兼顾。在分布式系统中,由于网络通信的不稳定性,分区容忍性是必须要保证的,因此在设计应用的时候就需要在一致性和可用性之间权衡选择。互联网应用比企业级应用更加偏向保持可用性,因此通常用最终一致性代替传统事务的 ACID 强一致性。


参考文档

【分布式】什么是分布式技术?相关推荐

  1. 分布式、云原生技术之后,分布式云或成数字化转型新利器

    编辑 | 宋 慧 出品 | CSDN云计算 头图 | 2021可信云大会现场 7月27日,2021年可信云大会在京顺利开幕.本届大会以"数字裂变,可信发展"为主题,云计算行业专家学 ...

  2. 分布式定时任务调度系统技术解决方案(xxl-job、Elastic-job、Saturn)

    分布式定时任务调度系统技术解决方案(xxl-job.Elastic-job.Saturn) 参考文章: (1)分布式定时任务调度系统技术解决方案(xxl-job.Elastic-job.Saturn) ...

  3. 转:分布式视频编码关键技术及其发展趋势

    1引言 当今的视频压缩编码标准,如ISO与ITU-T分别领导制定的视频压缩国际标准MPEG-x系列与H.26x系列,已被广泛应用于图像视频的各个领域,取得了较大的成功.因编码器承担了运动估计.变换.量 ...

  4. 华为突破分布式数据库和存储技术,打通数字化转型“雄关漫道”

    2019年,我们将进入数字化转型的攻关期.所谓"攻关期"即数字化转型2.0阶段,需要攻坚企业关键业务上云和数字化转型改造的课题.在一份市场调查公司IDC的报告中指出:IDC自201 ...

  5. 光伏并网pscad_分布式光伏发电关键技术

    欢迎加入技术交流QQ群(2000人):电力电子技术与新能源 1105621549 高可靠新能源行业顶尖自媒体 在这里有电力电子.新能源干货.行业发展趋势分析.最新产品介绍.众多技术达人与您分享经验,欢 ...

  6. Redis分布式缓存集群技术

    Redis分布式缓存集群技术(也支持持久化),是关系型数据库的互补产品 特点:追求高性能\高并发,对数据一致性要求比数据库要差一些. # 1. Redis在集群架构中的角色及工作流程     1)内存 ...

  7. m基于matlab的协作mimo分布式空时编码技术的仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 基于matlab的协作mimo分布式空时编码技术的仿真,包括规则LDPC级联D-STBC,M ...

  8. 分布式事务、分布式锁、分布式session

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | cnblogs.com/heqiyoujing ...

  9. 分布式存储--理解分布式文件系统、分布式块存储、分布式对象存储、分布式数据库

    1. 单机文件系统 vs 分布式文件系统 传统单机文件系统是计算机中一个非常重要的组件,为存储设备提供一致的访问和管理方式.在不同的操作系统中,文件系统会有一些差别,但也有一些共性几十年都没怎么变化: ...

  10. 【分布式】关于分布式“一致性”的讨论

    文章目录 一.写在前面的话 二.数据库的事务 三.分布式环境的各种问题 三.CAP和BASE理论 四.一致性协议 (1)两阶段提交 (2)三阶段提交 (3)Paxos算法 五.写在最后的话 一.写在前 ...

最新文章

  1. UITextField常用属性
  2. 面试题: Vue中的 computed 和 watch的区别
  3. Spring Cloud Alibaba 简介
  4. iOS-基于TCP连接Scoket-服务端
  5. 谷歌五笔输入法电脑版_“五笔输入法”打字速度更快,为什么却没啥人用?
  6. linux怎么修改内存缓存,Linux内存、缓存、Swap等修改
  7. thinkphp5 没有 $this->ajaxReturn
  8. 小米无线网卡linux驱动下载,Linux下安装MT7601U无线网卡驱动
  9. iphone引用自定义字体 html,在网页上使用苹果字体
  10. hdu 吉哥系列故事——完美队形 (最长公共子序列)
  11. 同一个服务器装oracle,windows下同一台服务器上装有两个ORACLE数据库实例,通过命令启停数据库...
  12. [Java web编程]第2章 HTML与css网页开发基础(动画)
  13. JNIEXPORT void JNICALL Java_testdll_set(JNIEnv *, jclass, jint j) //i = j;
  14. 基于拉格朗日差值算法的BMP图像缩放
  15. 怎样做出完美的高达模型
  16. 微信小程序全局配置分享指定标题、图片、路径
  17. TDW计算引擎解析——Scheduler
  18. 产品经理到底是做什么的?|️ 什么是产品经理?
  19. Java编程输入学员小明3门课程成绩,编写程序实现
  20. Android钢琴滑动代码,真正完美的android钢琴软件

热门文章

  1. 如何判断数码管是共阴极还是共阳极
  2. DSP SRIO接口设计
  3. JAVA随机抽取一名幸运观众(手动输入观众)小实例
  4. java的链表(LinkedList类)
  5. 通俗易懂的图解机器学习之机器学习概论
  6. 什么是钉钉项目施工和工程管理系统?
  7. 在过程中要正式批准可交付成果_2014年PMP考试模拟题
  8. 注册github账号详细中文版教程【精选】
  9. python计算身份证号18位_身份证第18位(校验码)的计算方法
  10. 非递归获取二叉树中叶子结点的个数