转载自 到底什么是分布式系统

分布式系统背景

说分布式系统必须要说集中式系统,集中式系统中整个项目就是一个独立的应用,整个应用也就是整个项目,所有的东西都在一个应用里面。

如下图所示

如一个网站就是一个应用,最后是多个增加多台服务器或者多个容器来达到负载均衡的避免单点故障的目的,当然,数据库是可以分开部署的。

集中式很明显的优点就是开发测试运维会比较方便,不用为考虑复杂的分布式环境。

集中式很明显的弊端就是不易扩展,每次更新都必须更新所有的应用。而且,一个有问题意味着所有的应用都有问题。当系统越来越大,集中式将是系统最大的瓶颈。

什么是分布式系统?

分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统。

以上定义摘自<<分布式系统原理与范型>>一书。

也就是说分布式系统背后是由一系列的计算机组成的,但用户感知不到背后的逻辑,就像访问单个计算机一样。

说的有点绕,我们可以来简单看下分布式系统图。

分布式系统利弊

在分布式系统中:

1、应用可以按业务类型拆分成多个应用,再按结构分成接口层、服务层;我们也可以按访问入口分,如移动端、PC端等定义不同的接口应用;

2、数据库可以按业务类型拆分成多个实例,还可以对单表进行分库分表;

3、增加分布式缓存、搜索、文件、消息队列、非关系型数据库等中间件;

很明显,分布式系统可以解决集中式不便扩展的弊端,我们可以很方便的在任何一个环节扩展应用,就算一个应用出现问题也不会影响到别的应用。

随着微服务Spring Cloud & Docker的大热,及国内开源分布式Dubbo框架的重生,分布式技术发展非常迅速。

分布式系统虽好,也带来了系统的复杂性,如分布式事务、分布式锁、分布式session、数据一致性等都是现在分布式系统中需要解决的难题,虽然已经有很多成熟的方案,但都不完美。分布式系统也增加了开发测试运维成本,工作量增加,分布式系统管理不好反而会变成一种负担。

到底什么是分布式系统相关推荐

  1. Java开发找工作最懵圈的问题:到底啥是分布式系统开发经验?

    前言 现在有很多Java技术方向的同学在找工作的时候,肯定都会去招聘网站上找职位投递简历. 但是在很多职位JD上往往会有这样的一个要求:熟悉分布式系统理论.设计和开发,具备复杂分布式系统构建经验. 之 ...

  2. 到底啥是分布式系统开发经验?

    现在有很多Java技术方向的同学在找工作的时候,肯定都会去招聘网站上找职位投递简历. 但是在很多职位JD上往往会有这样的一个要求:熟悉分布式系统理论.设计和开发,具备复杂分布式系统构建经验. 这个分布 ...

  3. 到底什么是分布式系统?

    前言 现在有很多Java技术方向的同学在找工作的时候,肯定都会去招聘网站上找职位投递简历. 但是在很多职位JD上往往会有这样的一个要求:熟悉分布式系统理论.设计和开发,具备复杂分布式系统构建经验. 之 ...

  4. [分布式]到底啥是分布式系统开发经验

    目录 1.从单块系统说起 2.团队越来越大,业务越来越复杂 3.分布式出现:庞大系统分而治之 4.分布式系统所带来的技术问题 5.一句话总结:什么是分布式系统设计和开发经验 6.补充说明:中间件系统及 ...

  5. Java同学找工作最懵圈的问题:到底啥是分布式系统开发经验?

    目录 1.从单块系统说起 2.团队越来越大,业务越来越复杂 3.分布式出现:庞大系统分而治之 4.分布式系统所带来的技术问题 5.一句话总结:什么是分布式系统设计和开发经验 6.补充说明:中间件系统及 ...

  6. 到底什么是分布式系统?你需要了解这些

    摘要:什么是分布式系统?为什么要用分布式系统?分布式系统如何分布?这些你知道吗? 小引 分布式系统是一个古老而宽泛的话题,而近几年因为 "大数据" 概念的兴起,又焕发出了新的青春与 ...

  7. 到底什么是分布式系统,该如何学习

    点击上方"互扯程序",选择"置顶公众号" 优秀文章,第一时间送达! KS Knowledge Sharing 知识分享 现在是资源共享的时代,同样也是知识分享的 ...

  8. 分布式系统的面试题1

    我之前有一些同学,之前呢主要是做传统行业,外包项目,互联网公司,一直是那种小的公司,技术一直都搞的比较简单.共同的一个问题,就是都没怎么搞过分布式系统,现在互联网公司,一般都是做分布式的系统,大家都不 ...

  9. 分布式与集群的区别到底是什么?

    零基础自学java,点击了解:https://how2j.cn 本文章转载自(如有侵权联系我删除):微信公众号Java技术栈 分布式 在IDF05(Intel Developer Forum 2005 ...

最新文章

  1. UIButton设置图片 在导航条上的 不显示
  2. plsql objects 过一段时间就会未连接oracle_记一次生产数据库故障排查--连接管理等待事件...
  3. 010_TreeMap键使用Comparator排序
  4. c语言如何给阻塞函数加超时,在代码中写一个延时而不阻塞的函数方法,给大家的参考 - 单片机 - 电子工程世界-论坛 - 手机版...
  5. android中文离线api_比林肯法球Linken sphere浏览器更多更新指纹的国产防关联软件-VMLogin中文版浏览器...
  6. 【总结】C语言实用算法系列之知识点梳理_附学生管理系统各模块代码
  7. 企业混合云的VERITAS数据保护方案
  8. 同时大量连接导致的DDOS攻击,导致收发器宕机,用户大面积超时掉线
  9. 移动互联网时代的信息安全与防护
  10. python bi_这5款BI工具,Python工程师最爱用
  11. 产品经理一定要知道的iOS App推送显示样式
  12. 安卓开发自己写的刻度尺测量,精确到mm.
  13. 谷歌高级搜索_您如何设置高级Google搜索条件?
  14. citus插件安装及使用
  15. 阵列天线的赋形波束综合(一)
  16. 攻防世界 web高手进阶区 favorite_number
  17. ACM--DFS--最大碉堡数--HDOJ 1045--Fire Net
  18. 什么是Linux主机?
  19. PCK - Percentage of Correct Keypoints
  20. 数据结构之字符串模式匹配

热门文章

  1. [Spring5]IOC容器_Bean管理XML方式_注入集合类型属性
  2. AcWing 211. 计算系数
  3. C++map容器-构造和赋值
  4. Apple Catching POJ - 2385(基础的动态规划算法)
  5. python高级编程知识点_(转)python 高级编程技巧学习笔记
  6. pip ImportError: cannot import name 'main' after update
  7. Servlet与线程安全
  8. Jury Compromise POJ - 1015
  9. [C++ STL algorithm] lower_bound、upper_bound、unique的本质
  10. P6102-[EER2]谔运算【位运算】