美文网首页
分布式架构的学习大纲(一)——从三个小问题开始

分布式架构的学习大纲(一)——从三个小问题开始

作者: 旺叔叔 | 来源:发表于2019-01-07 02:21 被阅读0次

    什么是分布式:

    简而言之,系统有一个以上的进程就是分布式了。
    所以严格来说大家一直都在从事分布式项目的工作,因为后台服务和数据库就是两个进程。
    只是他平时面对的问题和方案已经被习以为常,并不觉得有什么问题。
    这里说的分布式系统,是指后台服务被拆分成多个进程独立部署的情况。
    

    为什么要用分布式:

    两个数据
      1. 一个开发者,只能承受10000行左右代码的任务量。
      这里不单是技术强弱的问题。
      因为项目里不只是技术,更多是业务,一个人能维护的业务代码是有限的。
      超过一定任务量后,他就会频繁地发现自己要不停地重新研究自己写的代码。开发效率极低。
      所以当系统复杂起来,业务复杂起来之后,根据业务将系统拆分成独立模块势在必行。
      你当然可以说,可以划分模块,依然只是启动在一个进程上。
      但那是理想情况,毕竟实际工作里。
      谁能抵挡“他的包里正好有我要的工具类”这种诱惑。
      谁又能相信开发员口中的“我绝对没有动别人的代码”这种事。
      只有真正完全隔离,才能将职责彻底划分清楚。
      彻底杜绝扯皮和某个模块上线导致全体人员加班待命的情况。
      2. 数据库--也就是硬盘,只能承受2000左右的QPS。
      有类似这样的总结,计算机中99%的技术,来自平衡CPU,内存,硬盘,网络的速度不匹配。
      当然,简单的并发问题还可以用读写分离,分库分表解决。
      但实际问题在于,真正实际业务中,需要高并发的数据并不是均匀分布在各个表上的。
      也就是有所谓的“热数据”,比如微博的明星出轨离婚。
      通常这些热数据需要的并发量,是无论怎么分库分表,也解决不了的。
      而且为了某个热数据过度的分库分表也是得不偿失的。
      因此我们需要缓存,缓存技术复杂起来后,需要独立的框架,独立的部署。
      这也促成了分布式架构的势在必行。
    

    我们天天说的分布式技术究竟具体指的什么问题,哪些问题,和我们平时说的那些框架技术又是什么关系。

      可分三大类问题
      1.分布式本身带来的问题。
      2.高并发问题。
      3.高可用问题。
      在之后的文章里分三篇详解---但毕竟只是大纲,起一个学习索引的作用。

    相关文章

      网友评论

          本文标题:分布式架构的学习大纲(一)——从三个小问题开始

          本文链接:https://www.haomeiwen.com/subject/oghyrqtx.html