成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 架構
假設之前你的3億條數據都在一個30GB的大文件里,然后你一個Java程序一條一條慢慢讀慢慢計算,需要耗費30小時。

這篇文章聊一個話題:什么是分布式計算系統?

一、從一個新聞門戶網站案例引入

現在很多同學經常會看到一些名詞,比如分布式服務框架,分布式系統,分布式存儲系統,分布式消息系統。

但是有些經驗尚淺的同學,可能都很容易被這些名詞給搞暈。所以這篇文章就對“分布式計算系統”這個概念做一個科普類的分析。

如果你要理解啥是分布式計算,就必須先得理解啥是分布式存儲,現在我們從一個小例子來引入。

比如說現在你有一個網站,咱們假設是一個新聞門戶網站好了。每天是不是會有可能上千萬用戶會涌入進來看你的新聞?

好的,那么他們會怎么看新聞呢

其實很簡單,首先他們會點擊一些板塊,比如“體育板塊”,“娛樂板塊”。

然后,點擊一些新聞標題,比如“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就是分布式計算系統,他可以把計算任務分發到各個機器上,對各個數據塊進行并行計算。

以上就是用大白話+畫圖,給小白同學們科普了一下分布式計算系統的相關知識,相信大家看了之后,對分布式計算系統,應該有一個初步的認識了。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2020-06-22 08:07:48

Spring依賴場景

2020-02-15 17:16:05

Kubernetes容器

2020-09-28 14:25:39

HTTPS加密算法

2018-05-24 22:58:26

大數據分布式計算統計

2022-07-04 08:31:42

GitOpsGit基礎設施

2018-11-19 08:34:22

Hadoop架構HDFS

2020-01-21 10:16:15

Kubernetes教程容器

2020-12-01 09:03:22

分庫分表MySQL

2019-12-27 09:47:05

大數據TomcatWeb

2018-11-21 09:40:57

熔斷實踐AOP

2019-10-08 10:10:52

中臺 IT后臺

2018-05-30 09:27:15

大數據分布式計算

2021-09-27 13:50:13

Python裝飾器函數

2018-11-21 15:40:08

HTTP協議前端

2019-09-05 11:14:12

監控系統拓撲圖

2020-08-14 09:04:34

分布式事務

2019-03-26 11:15:34

AI機器學習人工智能

2013-09-22 10:34:08

碼農機器學習算法

2019-05-16 09:38:04

Redis高可用數據

2019-01-22 09:37:47

紅黑樹數據二叉樹
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品18久久久 | 欧美韩一区二区三区 | 成人免费在线视频 | 国产最新视频在线 | 精品一区二区三区四区在线 | 干干天天| 成人中文字幕在线 | 成人亚洲性情网站www在线观看 | 日本中出视频 | 在线中文视频 | 午夜视频免费在线 | 久久伊人精品 | 2020亚洲天堂 | 人人干人人干人人 | 欧美综合一区二区 | 99久久久久国产精品免费 | 伊人网综合 | 亚洲狠狠 | 日本精品一区二区三区在线观看视频 | 天天操网| 男插女下体视频 | 天堂在线网 | 密室大逃脱第六季大神版在线观看 | 99伊人| 成人免费在线电影 | 精品久久久久久久久久久久久久 | 青青操91 | 一级片网址 | 91性高湖久久久久久久久_久久99 | 午夜精品一区二区三区在线观看 | 综合久| 国产精品久久久久免费 | 国产精品视频在线免费观看 | 国产高清一二三区 | 国产亚洲一区二区三区在线观看 | 在线观看中文字幕亚洲 | 香蕉视频1024 | 成人在线电影网站 | 亚洲日韩中文字幕一区 | 欧美精品一区二区三区在线 | 国产丝袜一区二区三区免费视频 |