国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

LinkedIn搜索架構(gòu)獨(dú)家解析:如何實(shí)現(xiàn)150毫秒極速響應(yīng)?

0
分享至

點(diǎn)擊下方“JavaEdge”,選擇“設(shè)為星標(biāo)”

第一時(shí)間關(guān)注技術(shù)干貨!


免責(zé)聲明~ 任何文章不要過度深思! 萬事萬物都經(jīng)不起審視,因?yàn)槭郎蠜]有同樣的成長(zhǎng)環(huán)境,也沒有同樣的認(rèn)知水平,更「沒有適用于所有人的解決方案」; 不要急著評(píng)判文章列出的觀點(diǎn),只需代入其中,適度審視一番自己即可,能「跳脫出來從外人的角度看看現(xiàn)在的自己處在什么樣的階段」才不為俗人。 怎么想、怎么做,全在乎自己「不斷實(shí)踐中尋找適合自己的大道」

0 前言

你在 LinkedIn 上收到一位老同事請(qǐng)求推薦的信息。你還在996,所以只是快速確認(rèn)了信息,卻忘記保存他們發(fā)的簡(jiǎn)歷。幾天后想起這段聊天,但又懶得滾動(dòng),于是直接輸入關(guān)鍵詞搜索:

這簡(jiǎn)單操作正是 LinkedIn 消息搜索系統(tǒng)的全部功能。但為何這么流暢?幕后原理是啥?本文深入了解 LinkedIn 搜索架構(gòu)及。

1 搜索服務(wù)

搜索信息的一個(gè)核心理念:每條信息的搜索都僅限于用戶,即用戶只能在自己的收件箱中搜索。這點(diǎn)很重要,因?yàn)槲覀冎浪阉鲿r(shí)只需搜索用戶,可根據(jù)用戶創(chuàng)建搜索索引。

但Linkedin 的一大發(fā)現(xiàn):并非所有用戶都用搜索功能。因此,他們沒有為每個(gè)用戶創(chuàng)建和更新索引,而只為主動(dòng)進(jìn)行搜索的用戶創(chuàng)建索引。這是為優(yōu)化成本和寫入性能,因?yàn)槿魹槊總€(gè)用戶存儲(chǔ)索引,索引就會(huì)存儲(chǔ)在磁盤,而為每個(gè)用戶創(chuàng)建內(nèi)存索引的成本會(huì)很高。在寫繁重的系統(tǒng),將索引存儲(chǔ)在磁盤中將意味著從磁盤中讀取索引、解密信息、再次更新信息和索引、加密信息并再次將其存儲(chǔ)在磁盤中,導(dǎo)致寫效率極低。

2 RocksDB: 存儲(chǔ)信息

LinkedIn 使用高性能KV存儲(chǔ)庫(kù) RocksDB 存儲(chǔ)消息。每條信息的數(shù)據(jù)結(jié)構(gòu)都很簡(jiǎn)單,用鍵值對(duì)代表信息元數(shù)據(jù):

  • Key:MemberId | ConversationId | MessageId

  • Value: The content of the message, 如:"嗨,JavaEdge,你好嗎?能幫我介紹一下這個(gè)職位嗎?注意,Value是加密的

當(dāng)用戶的收件箱中收到一條新郵件時(shí),它就會(huì)以新記錄的形式存儲(chǔ)在 RocksDB 中,包括成員 ID、對(duì)話 ID 和郵件 ID。如:

  • member-id1|conversation-id1|message-id1

3 使用 Lucene 進(jìn)行反向索引

現(xiàn)在,為搜索消息,LinkedIn 使用 lucene,它使用倒排索引--本質(zhì)上是單詞(或標(biāo)記)到它們?cè)谖臋n(消息)中出現(xiàn)次數(shù)的映射。每條信息都被視為一個(gè)文檔。如

文件 1:

{
"message": "Hi Mayank, how are you? Can you refer me to this position?"
}

文件 2:

{
"message": "Hi Mayank, can you refer me to this new position?"
}

步驟 1:標(biāo)記信息

信息被標(biāo)記為單個(gè)單詞(忽略標(biāo)點(diǎn)符號(hào)并全部小寫):

Document 1 Tokens:

["hi", "mayank", "how", "are", "you", "can", "you", "refer", "me", "to", "this", "position" ]

Document 2 Tokens: ["hi", "mayank", "can", "you", "refer", "me", "to", "this", "new", "position"]

步驟 2:建立反向索引

Lucene 通過將每個(gè)單詞(標(biāo)記)映射到它們出現(xiàn)的文檔來創(chuàng)建倒排索引。下面是這兩個(gè)文檔的索引:

"hi "出現(xiàn)在兩份文件中(信息-id-1 和信息-id-2)。它在兩份信息中都位于位置 1。

  • "You "出現(xiàn)在兩份文件的不同位置:在信息-id-1 的第 5 和第 7 位,在信息-id-2 的第 4 和第 6 位。

  • 在兩份文件中,"refer "分別出現(xiàn)在 message-id-1 的第 8 位和 message-id-2 的第 6 位。

  • 步驟 3:進(jìn)行搜索

    當(dāng)用戶搜索 "refer "一詞時(shí),系統(tǒng)將

    1. 在倒排索引中查找 "refer"。

    2. 發(fā)現(xiàn)它分別出現(xiàn)在信息-id-1 和信息-id-2 的第 8 和第 6 位。

    3. 然后,系統(tǒng)就能從這兩份文件中快速檢索出相關(guān)信息。

    LinkedIn 實(shí)施的一項(xiàng)重要性能優(yōu)化是將索引存儲(chǔ)在內(nèi)存中,而不是磁盤上。這對(duì)性能至關(guān)重要,因?yàn)閷⑺饕鎯?chǔ)在內(nèi)存中可以加快搜索結(jié)果的速度,最大限度地減少延遲。當(dāng)提出搜索請(qǐng)求時(shí),系統(tǒng)會(huì)快速掃描內(nèi)存中的索引并返回結(jié)果。

    4 咋決定何時(shí)創(chuàng)建索引?

    LinkedIn 不會(huì)自動(dòng)為所有用戶創(chuàng)建索引。相反,它會(huì)在有搜索請(qǐng)求時(shí)觸發(fā)索引創(chuàng)建。具體操作如下:

    搜索請(qǐng)求:當(dāng)用戶提交搜索請(qǐng)求時(shí),系統(tǒng)會(huì)對(duì) RocksDB 中的 MemberId 進(jìn)行前綴掃描。這將檢索與該用戶相關(guān)的所有信息。

  • 創(chuàng)建文檔:為每條信息創(chuàng)建一個(gè)文檔,其中包含成員 ID、對(duì)話 ID、信息 ID 和信息文本。

  • 建立索引:將文件添加到索引中,索引存儲(chǔ)在內(nèi)存中,以便快速查找。

  • 5 分區(qū)

    索引在系統(tǒng)中的多個(gè)節(jié)點(diǎn)上進(jìn)行分區(qū),分區(qū)的依據(jù)是 MemberId 和 DocumentId。這樣可以確保不會(huì)有任何一個(gè)節(jié)點(diǎn)因?yàn)閬碜阅硞€(gè)用戶的大量信息而不堪重負(fù)。

    為此,有一個(gè)協(xié)調(diào)器節(jié)點(diǎn)作為所有搜索查詢的入口。協(xié)調(diào)器節(jié)點(diǎn)將搜索查詢發(fā)送到各個(gè)節(jié)點(diǎn),收集搜索結(jié)果,并根據(jù)相關(guān)性對(duì)搜索結(jié)果進(jìn)行排序,然后將最終結(jié)果發(fā)回給用戶。

    6 使用 Zookeeper 進(jìn)行節(jié)點(diǎn)協(xié)調(diào)

    LinkedIn 依靠?jī)?nèi)部服務(wù) D2(一種分布式協(xié)調(diào)服務(wù))來維護(hù)系統(tǒng)中的節(jié)點(diǎn)信息。D2 幫助協(xié)調(diào)節(jié)點(diǎn)確定哪些節(jié)點(diǎn)應(yīng)該處理搜索請(qǐng)求,確保查詢被發(fā)送到正確的節(jié)點(diǎn)。

    此外,LinkedIn 還采用了粘性路由,這意味著針對(duì)特定成員的所有搜索請(qǐng)求都會(huì)路由到同一個(gè)副本。這可以確保搜索結(jié)果的一致性,并防止在多個(gè)副本上重建索引,從而提高性能和一致性。

    7 Conclusion: 結(jié)論

    我們研究了 Linkedin 所做的一些巧妙的設(shè)計(jì)決定,這些決定不僅幫助他們節(jié)省了搜索時(shí)間,還幫助他們降低了基礎(chǔ)設(shè)施的成本。他們實(shí)施的內(nèi)部搜索解決方案滿足了他們的需求。

    關(guān)注我,緊跟本系列專欄文章,咱們下篇再續(xù)!

    ★ 作者簡(jiǎn)介:魔都架構(gòu)師,多家大廠后端一線研發(fā)經(jīng)驗(yàn),在分布式系統(tǒng)設(shè)計(jì)、數(shù)據(jù)平臺(tái)架構(gòu)和AI應(yīng)用開發(fā)等領(lǐng)域都有豐富實(shí)踐經(jīng)驗(yàn)。 各大技術(shù)社區(qū)頭部專家博主。具有豐富的引領(lǐng)團(tuán)隊(duì)經(jīng)驗(yàn),深厚業(yè)務(wù)架構(gòu)和解決方案的積累。 負(fù)責(zé): 中央/分銷預(yù)訂系統(tǒng)性能優(yōu)化 活動(dòng)&券等營(yíng)銷中臺(tái)建設(shè) 交易平臺(tái)及數(shù)據(jù)中臺(tái)等架構(gòu)和開發(fā)設(shè)計(jì) 車聯(lián)網(wǎng)核心平臺(tái)-物聯(lián)網(wǎng)連接平臺(tái)、大數(shù)據(jù)平臺(tái)架構(gòu)設(shè)計(jì)及優(yōu)化 LLM Agent應(yīng)用開發(fā) 區(qū)塊鏈應(yīng)用開發(fā) 大數(shù)據(jù)開發(fā)挖掘經(jīng)驗(yàn) 推薦系統(tǒng)項(xiàng)目 目前主攻市級(jí)軟件項(xiàng)目設(shè)計(jì)、構(gòu)建服務(wù)全社會(huì)的應(yīng)用系統(tǒng)。 ”

    參考:

    • 編程嚴(yán)選網(wǎng)

    編程嚴(yán)選網(wǎng):http://www.javaedge.cn/ 專注分享軟件開發(fā)全生態(tài)相關(guān)技術(shù)文章、視頻教程資源、熱點(diǎn)資訊等,全站資源免費(fèi)學(xué)習(xí),快來看看吧~ 【編程嚴(yán)選】星球

    歡迎長(zhǎng)按圖片加好友,我會(huì)第一時(shí)間和你分享軟件行業(yè)趨勢(shì),面試資源,學(xué)習(xí)方法等等。

    添加好友備注【技術(shù)群交流】拉你進(jìn)技術(shù)交流群

    關(guān)注公眾號(hào)后,在后臺(tái)私信:

    • 更多教程資源應(yīng)有盡有,歡迎關(guān)注并加技術(shù)交流群,慢慢獲取

    • 為避免大量資源被收藏白嫖而浪費(fèi)各自精力,以上資源領(lǐng)取分別需要收取1元門檻費(fèi)!


    特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

    Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

    相關(guān)推薦
    熱點(diǎn)推薦
    留幾手為閆學(xué)晶叫屈?稱抖音用戶都自卑又敏感,評(píng)論區(qū)炸鍋了

    留幾手為閆學(xué)晶叫屈?稱抖音用戶都自卑又敏感,評(píng)論區(qū)炸鍋了

    小徐講八卦
    2026-01-11 16:10:03
    華為新機(jī)突然上架:1月9日,新品上市

    華為新機(jī)突然上架:1月9日,新品上市

    科技堡壘
    2026-01-09 11:42:36
    反制開始!星鏈兩次威脅中國(guó)空間站后,我國(guó)新增20萬顆衛(wèi)星申請(qǐng)!

    反制開始!星鏈兩次威脅中國(guó)空間站后,我國(guó)新增20萬顆衛(wèi)星申請(qǐng)!

    Kerry哲學(xué)
    2026-01-11 09:20:56
    WTT冠軍賽:女單決賽席位出爐!朱雨玲4:2削球手,完成十年之約

    WTT冠軍賽:女單決賽席位出爐!朱雨玲4:2削球手,完成十年之約

    國(guó)乒二三事
    2026-01-11 18:04:49
    韓國(guó)某中學(xué)把“中華人民共和國(guó)”當(dāng)作班級(jí)目標(biāo)引爭(zhēng)議

    韓國(guó)某中學(xué)把“中華人民共和國(guó)”當(dāng)作班級(jí)目標(biāo)引爭(zhēng)議

    隨波蕩漾的漂流瓶
    2026-01-10 17:50:06
    做最壞打算!中國(guó)055大驅(qū)第二批加速,美媒:還有被美軍扣船隱憂

    做最壞打算!中國(guó)055大驅(qū)第二批加速,美媒:還有被美軍扣船隱憂

    諦聽骨語本尊
    2026-01-09 19:26:20
    頭號(hào)內(nèi)鬼被捕,關(guān)閉防空系統(tǒng)出賣馬杜羅坐標(biāo),5000萬沒拿到就栽了

    頭號(hào)內(nèi)鬼被捕,關(guān)閉防空系統(tǒng)出賣馬杜羅坐標(biāo),5000萬沒拿到就栽了

    新沖浪青年
    2026-01-10 20:30:14
    隨著卡塔爾0-1,伊朗0-0,亞洲杯最新積分榜出爐:中國(guó)男足倒數(shù)第二

    隨著卡塔爾0-1,伊朗0-0,亞洲杯最新積分榜出爐:中國(guó)男足倒數(shù)第二

    側(cè)身凌空斬
    2026-01-11 02:40:58
    霍啟剛突然公示財(cái)產(chǎn)!35套物業(yè)曝光,28套出租,這才是真豪門格局

    霍啟剛突然公示財(cái)產(chǎn)!35套物業(yè)曝光,28套出租,這才是真豪門格局

    行者聊官
    2026-01-10 20:42:35
    WTT多哈冠軍賽:6號(hào)種子朱雨玲4-2晉級(jí),韓瑩雖敗猶榮

    WTT多哈冠軍賽:6號(hào)種子朱雨玲4-2晉級(jí),韓瑩雖敗猶榮

    余蹮搞笑段子
    2026-01-11 18:25:11
    這反轉(zhuǎn)驚掉下巴!當(dāng)初要整蔡正元的檢察官陳舒怡,覺都睡不踏實(shí)了

    這反轉(zhuǎn)驚掉下巴!當(dāng)初要整蔡正元的檢察官陳舒怡,覺都睡不踏實(shí)了

    扶蘇聊歷史
    2026-01-10 12:05:03
    301005,商業(yè)航天十倍大牛股!節(jié)后機(jī)構(gòu)緊急調(diào)研股曝光

    301005,商業(yè)航天十倍大牛股!節(jié)后機(jī)構(gòu)緊急調(diào)研股曝光

    數(shù)據(jù)寶
    2026-01-11 07:34:07
    太解氣了,2026殯葬新規(guī)要來了,以后辦白事再也不用當(dāng)"冤大頭"了

    太解氣了,2026殯葬新規(guī)要來了,以后辦白事再也不用當(dāng)"冤大頭"了

    知鑒明史
    2026-01-11 10:35:03
    日本人的祖先究竟是誰?美國(guó)教授拿出DNA,日本人懵了

    日本人的祖先究竟是誰?美國(guó)教授拿出DNA,日本人懵了

    馬探解說體育
    2026-01-09 18:22:53
    日本拉面店禁止中國(guó)人入內(nèi)!韓國(guó)網(wǎng)友揭露內(nèi)幕并呼吁:我們也不能去!

    日本拉面店禁止中國(guó)人入內(nèi)!韓國(guó)網(wǎng)友揭露內(nèi)幕并呼吁:我們也不能去!

    奮斗在韓國(guó)
    2026-01-10 14:03:22
    60年一遇!今年春節(jié)不用穿棉襖了?最冷時(shí)段,已經(jīng)確定!

    60年一遇!今年春節(jié)不用穿棉襖了?最冷時(shí)段,已經(jīng)確定!

    老特有話說
    2026-01-10 15:37:26
    金價(jià)飆升,多家銀行公告提醒

    金價(jià)飆升,多家銀行公告提醒

    澎湃新聞
    2026-01-11 14:00:03
    3比0橫掃張本智和!19歲新星勒布倫進(jìn)攻犀利無人能擋

    3比0橫掃張本智和!19歲新星勒布倫進(jìn)攻犀利無人能擋

    卿子書
    2026-01-11 09:37:34
    突發(fā)!山東一地120調(diào)度員集中離職!4人已離職、2人提出辭職……

    突發(fā)!山東一地120調(diào)度員集中離職!4人已離職、2人提出辭職……

    醫(yī)脈圈
    2026-01-11 12:16:08
    吳石案終極潛伏者隱姓 42 年,晚年返大陸熱淚盈眶

    吳石案終極潛伏者隱姓 42 年,晚年返大陸熱淚盈眶

    嘮叨說歷史
    2026-01-07 12:42:21
    2026-01-11 19:55:00
    JavaEdge incentive-icons
    JavaEdge
    Java 技術(shù)
    466文章數(shù) 457關(guān)注度
    往期回顧 全部

    科技要聞

    “我們與美國(guó)的差距也許還在拉大”

    頭條要聞

    小學(xué)生留遺書在家中服藥自殺 母親起訴學(xué)校和英語老師

    頭條要聞

    小學(xué)生留遺書在家中服藥自殺 母親起訴學(xué)校和英語老師

    體育要聞

    詹皇曬照不滿打手沒哨 裁判報(bào)告最后兩分鐘無誤判

    娛樂要聞

    留幾手為閆學(xué)晶叫屈?稱網(wǎng)友自卑敏感

    財(cái)經(jīng)要聞

    外賣平臺(tái)"燒錢搶存量市場(chǎng)"迎來終局?

    汽車要聞

    2026款宋Pro DM-i長(zhǎng)續(xù)航補(bǔ)貼后9.98萬起

    態(tài)度原創(chuàng)

    手機(jī)
    教育
    家居
    旅游
    時(shí)尚

    手機(jī)要聞

    消息稱三星Galaxy S26系列手機(jī)將首次提供2400萬像素切換開關(guān)

    教育要聞

    李希貴:下一代學(xué)校應(yīng)該什么樣?

    家居要聞

    木色留白 演繹現(xiàn)代自由

    旅游要聞

    河南:冰雪運(yùn)動(dòng)樂趣多 冬季旅游熱力足

    朱珠美上熱搜的老錢風(fēng)穿搭,太值得借鑒了!

    無障礙瀏覽 進(jìn)入關(guān)懷版