微信朋友圈,你知道是怎麼設計的嗎?

2020-12-06 人人都是產品經理

微信朋友圈是怎麼設計的?本文筆者梳理了朋友圈的操作流程,並向我們介紹了它背後的設計思路。

當你一秒鐘拍了張自拍,一個小時修了下圖,然後打開朋友圈,點擊發送的那一刻,後臺到底有多少工作在進行著?

我們太習以為常,沒有意識到這背後還會有多複雜的邏輯。為什麼每天幾十億量級的朋友圈發布量,都沒有讓微信崩潰過?

我看了朋友圈負責人陳明的演講,他分享了微信的架構,數據結構設計等。演講很好看,很實在,但有的時候程式設計師講話需要努力下才能理解,本文我將從一個產品的角度,儘量平民化的闡述整個邏輯,寫下的自己的思考和理解,希望大家可以有所收穫。

一、發朋友圈

1. CDN

當我們把精心修好的圖,朋友圈點擊發送。是不是有一種秒發零延遲的感覺?

那是因為,我們在發朋友圈時,第一步動作是把你發布的圖片傳到騰訊就近的CDN節點,這時是不經過微信後臺伺服器的,所以會很快很快。

(CDN這裡就不展開了,可以想像下淘寶的菜鳥倉配網絡一樣,先把貨發到倉配點,然後再配送給你。)

2. 發布表

當圖片成功傳到CDN後,這時微信客戶端才會通知朋友圈CDN,說這裡有個人發了個自拍耶。

你發朋友圈時,很可能會屏蔽掉你EX或領導老闆之類的對吧。

所以呢,微信朋友圈的後臺會把你發的圖片、這個圖片的URL地址、然後誰能看到這圖片(很關鍵)等等信息寫到發布表裡。

3. 相冊表

當發布表寫完後,會把你這自拍索引到你的相冊表裡,相冊表實際上很小,因為它就存了個索引指針而已。

也就是說,當你打開自己的相冊列表看到你過去發的成百上千的照片時,都是根據索引去發布表裡取的數據。

4. 時間線

當相冊表寫好了,就會到一個很關鍵的步驟了,會觸發一個批處理動作。

就是會有個跑腿的,跑過去通知你所有的通訊錄好友,說你發了個自拍,然後就會把你發的這個自拍插入到你好友的時間線裡。

當你好友刷新時,就會看到你的自拍了!Oh Yeah!

當然這前提是,你的好友沒有刪除你、拉黑你、屏蔽你、不看你。扎心,我們後面會講這些過濾的權限問題是怎麼處理的。

二、刷朋友圈

好了。假設小王是你的微信好友,工作了五分鐘累的不行了,休息休息刷下朋友圈。

當小王點開朋友圈時,會拉他自己的時間線,這時他的時間線會得知有個你的新發布,小王的微信客戶端會根據你的發布的元數據去CDN找這個圖片的URL,拉到本地,然後小王就能看到你發的自拍了。

三、刪除、拉黑、標籤、不讓他看、三天可見該怎麼辦

1. 誰可以看

當我們發朋友圈的時候,會有個誰可以看的選項,默認是公開,也就是你所有的好友(非刪除、黑名單狀態)都會看到。

除此,還有部分可見和不給誰看的選項,這裡就是第一步的權限控制。

但這裡控制的是,你發的這個照片,要加到哪些好友的時間線裡;也就是說,假設你選擇了不給「領導」標籤下的人看,那領導標籤下的所有人的時間線都不會加上你的這條新朋友圈。

2. 標籤這裡要多說一句

標籤實際上是幫助你更方便選擇可見好友範圍的一個東西,只有這一個作用。

舉個例子:比如說你發了自拍,選擇「男神」標籤發了出去,此時「男神」標籤下有吳彥祖和古天樂兩個人,那麼吳彥祖和古天樂都能刷到你的自拍。

這時呢,你又把劉德華加到「男神」標籤下,劉德華是不會刷到你發的這張自拍的!

同理,你漸漸厭倦了古天樂,把古天樂從「男神」標籤裡移了出去,古天樂依然可以看到你發的這個自拍哦。

明白了吧,你通過標籤選擇的可見範圍,都是具體到標籤下的人的。在你發布的那一瞬間,發布加到了誰的時間線裡,就都定下來了。所以無論後面怎麼調整標籤下的人,都不會影響這條已經發出去的自拍了。

那你說,我就是不想讓古天樂看我的這張自拍怎麼辦?好辦,你可以選擇刪除他、拉黑他、不讓他看、自拍設置成僅自己可見。

3. 這就是第二步的權限控制了

當小王刷朋友圈時,上面提到會更新他的時間線。

這個時候,小王的客戶端還會做一個事情:就是查一遍權限。

也就是說,查一下時間線上的發布,有沒有是屬於不給小王看的。包括:刪除、拉黑、不給他看、三天可見,這些都是可以隨時變更設置的,因此小王每一次刷新朋友圈,時間線都會被篩選一下。

那就有寶寶說,會不會太麻煩了呀,每次都要查嗎?

實際上不太麻煩。因為首先在你發布時,就確定了要加到哪些好友的時間線裡,因此小王在刷朋友圈時,不用去每個好友的相冊裡去撈,這相冊還有可能存在幾百個不同的伺服器裡。而只需要讀自己的時間線這一個動作就行了,這樣的話效率就高上天了。

而刪除、拉黑、不給他看、三天可見這些權限的設置,並不是說大家時時刻刻每天在改的東西,可能好久才改一次。

因此小王的微信客戶端一般會把這些權限數據緩存下來,不需要每次都去拉這個數據,只有變動的時候才去變更一下。所以,怎麼說呢,問題不大。

四、評論和贊

理解了上面講的整個發布表、相冊表、時間線這些東西後,評論和贊就相對好理解了。

微信後臺會專門有張表存儲評論和贊這些數據,假設三三是你和小王的共同好友,他刷朋友圈時,看到了你的這張自拍。那麼會同時去評論表裡拉這條發布的小王相關的評論和贊,放到這條朋友圈下面。

如果不是你和小王的共同好友,那就看不到這評論和贊。

以上,就是發朋友圈、刷朋友圈背後的一些東西。多去觀察、思考下周圍天天在用的東西,還是十分有意思的。

本文由@2B產品七七 原創發布於人人都是產品經理,未經許可,禁止轉載。

題圖來自Unspalsh, 基於CC0協議

相關焦點

  • 微信朋友圈直升機橫幅怎麼發 朋友圈直升機橫幅圖案畫法
    微信朋友圈直升機橫幅怎麼發 朋友圈直升機橫幅圖案畫法 微信朋友圈裡突然有一個直升機橫幅的圖案變得十分火熱,這個直升機橫幅表情加入了很多網際網路新梗
  • 微信朋友圈直升機怎麼打出來 我派飛機接你如何發方法
    朋友圈直升機怎麼打出來發?最近朋友圈直升機在微信中火了起來,相信大家的朋友圈已經是各種直升機到處飛了,那麼你是不是想發但不知道怎麼發呢?下面小編為大家帶來了微信朋友圈直升機製作方法,一起來看看吧。  朋友圈發送飛機製作方法:  1、打開朋友圈複製以上的這個直升機內容圖案。
  • 怎麼知道對方刪除了我的微信好友?朋友圈一道槓是判斷標準嗎?
    一般來說,我們添加了微信好友,不會輕易刪除別人。因為「多個朋友多條路」,既然認識了,那麼說不定以後就有需要聯繫的時候。但是對於已經刪除了我的人,就不需要繼續留著他的聯繫方式了。被對方刪除好友了,除了發消息顯示需要驗證好友之外,還有什麼情況能知道,自己已經被刪除了?朋友圈動態沒有刪除好友、沒有屏蔽的情況下,對方發朋友圈你是可以看到的。如果過去一個要好的朋友,突然發現很久沒看到他的朋友圈動態了,那麼有可能就是已經把你刪除或者屏蔽。
  • 微信發朋友圈文字怎麼能全顯現出來 微信發朋友圈文字怎麼不摺疊
    微信發朋友圈文字太多怎麼全部顯示?想必很多喜歡發朋友圈的小夥伴會有和我一樣的苦惱?發朋友圈的時候,文字都摺疊了,影響到自己發朋友圈的分享目的,那麼到底該怎麼做呢?在此之前,我們要知道什麼樣的內容,容易別微信摺疊,這樣我們自然就知道該怎麼做呢?
  • 微信朋友圈符號拼的直升機怎麼發 朋友圈直升機符號大全
    微信朋友圈符號拼的直升機怎麼發 朋友圈直升機符號大全 近日微信朋友圈出現了用符號拼的直升機圖案,這個圖案是怎麼拼出來的呢
  • 微信刪除好友怎麼找回?教你幾個你不知道的微信隱藏功能
    微信刪除好友怎麼找回?很多朋友會有這樣的疑問,如果一不小心把微信好友給刪掉了,怎麼把他們找回呢,這不,一到夏天,又有不少朋友來問我了,小編想了一下,決定來一次微信好友找回大放送,接下來就跟著我一起來看看恢復微信好友的好辦法~
  • 朋友圈微信頭像怎麼有小紅旗?請給我一面國旗@微信官方獲取頭像...
    朋友圈微信頭像怎麼有小紅旗?請給我一面國旗@微信官方獲取頭像詳情步驟時間:2019-09-24 23:18   來源:今日頭條   責任編輯:毛青青 川北在線核心提示:原標題:朋友圈微信頭像怎麼有小紅旗?
  • 微信朋友圈僅三天可見,遭眾多用戶吐槽,張小龍:我會重新設計的
    微信朋友圈僅三天可見,遭眾多用戶吐槽,張小龍:我會重新設計的如今你每天打開什麼軟體最多?估計有不少的人會回答是微信。當初微信剛出來的時候,不少的人還有些嘲笑這個軟體,因為當時騰訊QQ的用戶已經有不少了,很多人也認為微信發展不起來。
  • 微信朋友圈真的可以查訪客記錄嗎 揭秘騙子代查手段
    最近總能在各種社交平臺看到代查微信朋友圈的訪客記錄,微信朋友圈的訪客記錄怎麼查?微信朋友圈的訪客記錄真的可以查嗎?  微信朋友圈查看訪客是真的嗎  最近朋友圈被這樣一種廣告刷屏了:代查朋友圈訪客記錄,需要的掃二維碼。
  • 微信發了朋友圈刪除不了?任意按2下就能刪除你知道嗎?
    不知道大家的微信都用多久了,又發了多少條朋友圈呢?從最初的的第一條到後來的上百條,朋友圈內容是越來越多,想刪除但是一條一條的刪,真的是太費勁了!今天小編就來教大家怎樣快速刪除微信朋友圈,簡單又方便。搜索刪除法朋友圈內容越來越多,我們早就忘記了第一條朋友圈的內容是什麼?
  • 微信朋友圈可以評論表情包!微信朋友圈如何設置權限
    新的朋友權限中可以單獨設置開放聊天、朋友圈、微信運動等,還可以僅限聊天功能,另外朋友圈和視頻動態權限也可以集中設置,不讓他看和不看他。微信朋友圈怎麼才能圖片評論?看這裡。1、將微信升級到最新版本;2、將圖片保存到圖片」我喜歡「板塊。
  • 微信團隊聖誕帽子怎麼弄 再度在朋友圈熱鬧起來
    微信團隊聖誕帽子怎麼弄 再度在朋友圈熱鬧起來時間:2020-12-10 10:46   來源:蠶豆網   責任編輯:凌君 川北在線核心提示:原標題:微信團隊聖誕帽子怎麼弄 再度在朋友圈熱鬧起來 隨著一年一度聖誕節臨近,@ 微信團隊求聖誕帽子的活動又再度在朋友圈熱鬧起來。微信聖誕帽子怎麼弄?
  • 微信5個實用小功能來襲,總有一個你不知道!
    說到社交,不得不提的就是微信這款社交軟體了,微信的出現,不僅拉近了人與人之間的距離,還解決了人們生活中很多生活所需,比如:生活繳費、行動支付等等。微信可以說是大部分人手機中使用最頻繁的一款軟體,相信大家對它的很多常用功能都非常熟悉了,畢竟微信常用功能的界面設計的都非常簡單。但是,對於一些不常用比較隱蔽的功能可能很多人還不知道,今天就分享幾個給大家。
  • 微信怎麼設置朋友圈只顯示三天的?教你玩轉朋友圈
    朋友圈是微信特有的社交功能,你可以在朋友圈分享自己的文字、圖片、視頻等內容。還能給朋友圈點讚和評論。作為社交能手的朋友圈功能,為微信增添了不少色彩,而且它還支持多種設置。你可以設置朋友圈對誰不可見,也可以在發布朋友圈的時候屏蔽他。
  • 微信朋友圈你是不是一隻豬是什麼梗怎麼玩介紹
    在朋友圈之中經常有許多有意思的事情發生,近日就有小夥伴發現使用翻譯功能可以翻譯一些奇異的語句,那麼微信朋友圈你是不是一隻豬怎麼玩,你是不是一隻豬是什麼梗呢?  相信很多小夥伴朋友圈都被上圖這隻小兔子刷屏了,其實非常簡單,小夥伴們只需要點擊翻譯,就可以參與了。
  • 別人刪除了我的微信,我的朋友圈他還能看到嗎?
    隨著移動網際網路的發展,人們的社交方式得到了很大的變化,微信和支付寶等手機應用軟體可以說現在已經是大家生活中不可缺少的一部分。說現在已經是大家生活中不可缺少的一部分。不過在使用過程中,還是會遇到不少的問題。逛頭條看到有人問,別人刪除了我的微信,我的朋友圈他還能看到嗎?
  • #微信國旗頭像#刷屏朋友圈,你許願了嗎?
    新東方網>英語>英語學習>口語>實用口語>正文#微信國旗頭像#刷屏朋友圈,你許願了嗎? 2019-09-24 14:05 來源:新東方網整理 作者:   國慶將近,今天大家有沒有被微信朋友圈的這樣一句話刷屏呢?「給我一面國旗@ 微信官方 」。
  • 一個人的人品如何,他發的微信和朋友圈讓你輕鬆知道,別不相信
    隨著科技的發展,微信成為了大家聊天、交友和分享生活的最佳選擇。人們可以從觀察一個人給你發的信息和他的朋友圈來了解這個人的性格和人品。因為他日常的言行和朋友圈的動態往往能展示了他的生活狀態和人品,所以說,一個人的人品如何,他發的微信和朋友圈讓你輕鬆知道,別不相信。
  • 微信聊天要不要稱呼 這些聊天禮儀你知道嗎?
    微調查  聊天沒稱呼,你怎麼看?  夏姝芸(30歲 女 文員):我有時候也沒有給別人發稱呼,因為有些人不太熟悉,我也不知道該怎麼稱呼恰當,所以索性就不稱呼了。  熊先生(29歲 男 工程造價員):微信聊天最好還是要有稱呼,顯得更有親和力。其實不發稱呼也沒啥。  趙丹(27歲 女 麵館老闆):我也經常收到別人的微信沒有稱呼,心裡確實有些不舒服,但也可以理解,畢竟有時候別人不知道怎麼稱呼你,要是稱呼錯了反而尷尬。
  • 微信朋友圈個性化廣告,怎麼才能關閉
    市消保委15個月監測1600個App的廣告,發現「關不掉」「不可選擇」等問題突出微信朋友圈個性化廣告,怎麼才能關閉「你知道怎樣關閉微信朋友圈個性化廣告推送嗎不是那些個人微商發布的廣告,而是微信作為平臺、各種廣告主發布的廣告。」前天,在《App廣告消費者權益保護評價報告(2020)》發布現場,上海市消保委副秘書長唐健盛拿出手機,手把手教大家如何關閉微信個性化廣告。「按照廣告法,廣告發布平臺應給消費者選擇的權利,但根據微信目前的設置方式,普通消費者無法順利關閉廣告」。