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

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

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

什么是分布式:

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

为什么要用分布式:

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

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

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

相关文章

网友评论

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

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