连你女朋友都能看懂的分布式架构原理!

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

  • 从一个新闻门户网站案例引入
  • 推算一下你需要分析多少条数据
  • 黄金搭档分布式存储+分布式计算

这篇文章聊一个话题什么是分布式计算系统


一、从一个新闻门户网站案例引入

现在很多同学经常会看到一些名词比如分布式服务框架分布式系统分布式存储系统分布式消息系统。

但是有些经验尚浅的同学可能都很容易被这些名词给搞晕。所以这篇文章就对“分布式计算系统”这个概念做一个科普类的分析。

如果你要理解啥是分布式计算就必须先得理解啥是分布式存储现在我们从一个小例子来引入。

比如说现在你有一个网站咱们假设是一个新闻门户网站好了。每天是不是会有可能上千万用户会涌入进来看你的新闻

好的那么他们会怎么看新闻呢


其实很简单首先他们会点击一些板块比如“体育板块”“娱乐板块”。

然后点击一些新闻标题比如“20年来最刺激的一场比赛即将拉开帷幕”接着还可能会发表一些评论或者点击对某个好的新闻进行收藏。

那么你的这些用户干的这些事儿有一个专业的名词叫做“用户行为”。

因为在你的网站或者APP上用户一定会进行各种操作点击各种按钮发表一些信息这些都是各种行为统称为“用户行为”。

好了现在假如说新闻门户网站的boss说想要做一个功能在网站里每天做一个排行榜统计出来每天每个版块被点击的次数包括最热门的一些新闻。


然后呢在网站后台系统里需要有一些报表要让他看到不同的编辑产出的文章的点击量汇总做一个编辑的绩效排名还有很多类似的事情。

这些事情叫什么呢你可以认为是基于用户行为数据进行分析和统计产出各种各样的数据统计分析报表和结果供网站的用户、管理人员来查看。

这也有一个专业的名词叫做“用户行为分析”。


二、推算一下你需要分析多少条数据

好咱么继续。如果你要对用户行为进行分析那你是不是首先需要收集这些用户行为的数据

比如说有个哥儿们现在点了一下“体育”板块你需要在网页前端或者是APP上立马发送一条日志到后台记录清楚“id为117的用户点击了一下id位003的板块”。

同样这个东西也有一个专业的名词叫做“用户行为日志”。

那你可以来计算一下这些用户行为如果采用日志的方式收集每天大概会产生多少条数据


假设每天1000万人访问你的新闻网站平均每个人做出30个点击、评论以及收藏等行为那么就是3亿条用户行为日志。

假设每条用户行为日志的大小是100个字节因为可能包含了很多很多的字段比如他是在网页点击的还是在手机APP上点击的手机APP是用的什么操作系统android还是IOS类似这样的字段是很多的。

那么你就有每天大概28GB左右的数据这里一共包含3亿条。

假如对这3亿条数据你就自己写个Java程序从一个超大的28GB的大日志文件里一条一条读取日志来统计分析和计算一直到把3亿条数据都计算完毕你觉得会花费多少时间

不可想象根据你的计算逻辑复杂度来说搞不好要花费几十个小时的时间。

所以你觉得这种大数据场景下的分析这么玩儿靠谱么不靠谱。


三、黄金搭档分布式存储+分布式计算

所以这个时候你就可以首先采用分布式存储的方式把那3亿条数据分散存放在比如30台机器上每台机器大概就放1000万条数据大概就1GB的数据量。

大家看看下面的图

在这里插入图片描述

接着你就可以上分布式计算了你可以把统计分析数据的计算任务拆分成30个计算任务每个计算任务都分发到一台机器上去运行。

也就是说就专门针对机器本地的1GB数据那1000万条数据进行分析和计算。

这样的好处就是可以依托30台机器的资源并行的进行数据的统计和分析这也就是所谓的分布式计算了。

每台机器的计算结果出来之后就可以进行综合性的汇总然后就可以拿到最终的一个分析结果大家看下图。

在这里插入图片描述

假设之前你的3亿条数据都在一个30GB的大文件里然后你一个Java程序一条一条慢慢读慢慢计算需要耗费30小时。

那么现在把计算任务并行到了30台机器上去就可以提升30倍的计算速度是不是就只需要1小时就可以完成计算了

所以这个就是所谓的分布式计算他一般是针对超大数据集也就是现在很流行的大数据进行计算的。

首先需要将超大数据集拆分成很多数据块分散在多台机器上然后把计算任务分发到各个机器上去利用多台机器的CPU、内存等计算资源来进行计算。

这种分布式计算的方式对于超大数据集的计算可以提升几十倍甚至几百倍的效率其实这个理论和概念也是大数据技术的基础。


比如现在最流行的大数据技术栈里Hadoop HDFS就是用做分布式存储的他可以把一个超大文件拆分为很多小的数据块放在很多机器上。

而像Spark就是分布式计算系统他可以把计算任务分发到各个机器上对各个数据块进行并行计算。

以上就是用大白话+画图给小白同学们科普了一下分布式计算系统的相关知识相信大家看了之后对分布式计算系统应该有一个初步的认识了。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“连你女朋友都能看懂的分布式架构原理!” 的相关文章