從有到優 百度前端接入技術的公升級之路

2021-09-17 06:29:04 字數 1934 閱讀 8854

在此前提之下,團隊決定使用go語言來重寫前端,但是這裡也遇到了一些問題,那就是gc(gabage collection)本身難以避免的時間延遲。bfe的需求是要在1ms以內,最大不超過10ms,一旦超過這個平均值,那麼使用者體驗將大打折扣。而go-bfe實測100萬連線,400ms gc延遲。這就需要不斷的對gc進行優化。

\\ 在這裡陶老師也介紹了兩種優化思路,第乙個常見的方法就是將掃瞄的小物件合併成大物件,利用array來合併一組物件。第二種方法精算性更高一點,可以把消耗記憶體較多的內容放到c裡面,因為go語言有乙個cgo介面,直接通過go調到c可以解決這個問題,只不過代價比較大。但是,問題和方案永遠是相生相伴的。用array技術重寫網路庫,所有的bfe將永遠用array來寫,理論上可行。這裡的問題又來了,第一風險太大,第二如果go語言公升級了,還能不能繼續使用下去。

\\ 陶老師在這裡介紹的解決方法叫做車**戰。即,在一組工作程序中,程序和服務是等價的,某乙個程序跟服務運作到一定時間之後關閉gc,讓它休息,第二個程序代替它服務,以此輪換,構成乙個車**戰的局面。如果在不能直接解決gc問題的時候直接關掉服務,然後繞過它。這基本的方案思路也就是關閉繼承多程序的輪轉戰。(如上圖)

\\\\

收集資料的意義在於可以很清晰的了解掌握使用者的搜尋習慣,這對pv、uv以及變現收入有很大影響。那麼如何貼切搜尋引擎的特點做搜尋速度的優化?通過三個方面:接入質量提公升、後端處理優化和前端渲染優化。接入質量提公升主要有兩個考察因素:延遲和頻寬,對應的也就是優化rtt和傳輸效率。

\\ 後端優化其實就是整個搜尋引擎的優化了,分為快取優化和檢索優化。快取優化最基礎的方式就是進入、淘汰機制等等,保證淘汰機制是最合理的。檢索優化,則需要對硬體以及硬體方案的選擇做一些深入考慮。在前端渲染優化方面,除了考慮節省時間之外還要考慮怎樣讓它定性化。

陳曦洋老師在這裡詳細介紹了全站https改造的成本,這也是很多人都比較關心的焦點問題,這不僅涉及到證書的部署,還會涉及到激增的計算量,需要多次協商和握手,而使用者端搜尋的延遲將會給https改造需要解決的問題。除此以外,對於乙個大型**而言,架構如何解決多業務部署https的問題,巨大的頁面和模板數量,以及如何解決實際部署中的各種問題,讓使用者無損/平滑的完成切換,其實是更具有挑戰性的工作。

\\ 那麼有沒有可選的優化方案呢?陳老師認為,效能優化上優先使用ecc。這裡使用ecc金鑰長度大小要比rsa和dh金鑰長度短。在硬體的優化上則可以使用硬體加速卡,可以做tls的遠端解除安裝(小型站點在不面對大量的惡意請求時 完全可以通過純軟體解除安裝,只需要保證連線復用率)。在訪問速度上的優化上,通過復用連線和協議優化可以儘量減少握手次數,就可以讓它接近於原始http的效能。怎麼去減少握手次數?比如session cache和session ticket可以極大的減少使用者在一定時間內再次訪問時的計算開銷,而hsts能在瀏覽器內部完成http到https的跳轉,不再經過一次網路傳輸和瀏覽器開銷。另外還可以用spdy-http2方案,優點是基於單連線,能進一步提公升連線復用比例,協議支援header壓縮,在無線網路下有重要意義,這些都可以提高訪問速度。

\\ 除了對協議層進行優化之外,也可以在應用層做些優化,預連線就是乙個很好的優化方案。比如在網頁端或者客戶端,使用者發起訪問請求之前提前把這個握手過程完成,減少延遲,這一點也很重要。另外陳老師建議站點在發展到一定規模時一定要做整體的接入規劃,控制網域名稱數量,一些服務需要變成公共的,比如,靜態資源的儲存和訪問。

\\ \\

百度和Google的搜尋演算法 技術有何差異?

提問 和 google 的搜尋技術是乙個量級嗎?以下為布丁的回答 先一句話回答 在與搜尋相關的基礎技術方面,距離 google 仍有很大的差距,但今天是否還存在量級上的差距存疑。開頭先扯個不相干的領域,蘇聯 1960 年代裝備的 mig 25 截擊機,這是世界上第一款能飛雙三 三倍音速,30000公...

從百度投資開源中國,到中國開源事業的飛馳年代

2019 年,全球 新格局壓力下,科技產業受到了多方面的影響。比如今年 7 月,全球最大開源平台github被曝出封鎖了俄羅斯與伊朗開發者的賬號。訊息一出,讓全球軟體人與開發者意識到,原來開源也是有國界的。大的全球經濟背景下,積極擁抱開源,與開源平台的自主可控向前發展,二者必須兼顧,不能偏廢。而值得...

百度快照更新從半個月到3天更新的經驗分享

快照對乙個站長來說是及其重要的,最直接最明顯的就是在換友情鏈結上面,尤其是google宣告不更新pr的情況下,pr黨也不得不更加看重快照速度了。當你的 快照半個月不更新甚至更長的時間是很折磨人的,你甚至不敢把站拿出去交換友情鏈結。筆者我楓哥前陣子就遇到這種讓人鬱悶的事。dzzgehdzv 既然是分享...