摘要:
基礎概念 函數模板(function template) template <typename T> int compare(const T &v1, const T &v2) { if (v1 < v2) return -1; if (v2 < v1) return 1; return 0; }
閱讀全文
posted @ 2020-10-25 17:27
chenguang9239
閱讀(151)
推薦(0)
摘要:
前言 一般情況下我們將負載均衡為分客戶端負載均衡與服務端負載均衡(代理)。服務端負載均衡通常是使用現成的軟件產品(如nginx)實現,其功能也更全面,比如它與K8s可以很好的結合使用,一定程序上降低了開發和維護的成本。但對于 RPC 服務而言,服務端負載均衡會增加兩次額外的網絡跳數(往返),并且它還
閱讀全文
posted @ 2020-10-03 22:34
chenguang9239
閱讀(140)
推薦(0)
摘要:
前言 我們應當忘記小的性能改善,百分之九十的情況下,過早優化都是萬惡之源 —— 高德納 測量和實驗是所有改善程序性能嘗試的基礎。性能優化的基本規則是90/10規則:一個程序花費90%的時間執行其中10%的代碼。識別出10%的熱點代碼是值得花費時間的,但靠猜想選擇優化哪些代碼可能只是浪費時間 —— 《
閱讀全文
posted @ 2020-10-03 22:21
chenguang9239
閱讀(264)
推薦(0)
摘要:
互斥元 std::mutex std::lock_guard 實現互斥元的 RAII 慣用語法,它在構造時鎖定所給的互斥元,在析構時將互斥元解鎖,從而保證被鎖定的互斥元始終被正確解鎖 std::unique_lock 提供了lock()、try_lock()和unlock()三個成員函數,它們會調用
閱讀全文
posted @ 2020-09-12 23:36
chenguang9239
閱讀(357)
推薦(0)
摘要:
如何從線程獲取結果 首先可以傳遞結果引用給線程函數,這種方法需要額外的同步機制確定結果已經就緒;此外在C++11中可使用如下多種方法:stdasync可以啟動一個新線程并執行,其結果保存在返回的stdfuture中;stdpackaged_task<>將一個future綁定到一個函數或可調用對象,當
閱讀全文
posted @ 2020-09-07 23:59
chenguang9239
閱讀(1002)
推薦(0)
摘要:
概念(掃盲) google three paper Google File System(2003) - 存儲 MapReduce(2004) - 計算 BigTable(2006) - 查詢 HDFS Hadoop Distributed File System,分布式文件系統,它是GFS的開源實
閱讀全文
posted @ 2020-09-05 21:06
chenguang9239
閱讀(2099)
推薦(0)
摘要:
Bridge Pattern 概念 橋接模式,待補充 Pimpl Pattern 概念 Pointer to Implementation,即在 handle class 內通過一個私有的成員指針變量,將指針所指向的 implementation class 的內部成員進行隱藏 優點 降低模塊間耦合
閱讀全文
posted @ 2020-09-05 20:58
chenguang9239
閱讀(142)
推薦(0)
摘要:
背景 在請求具有一定的重復性的業務場景下,客戶端或者服務端將請求結果保存在緩存中,可以大大減少服務端壓力和延時(尤其是請求方采用負載均衡策略,比如IP一致性哈希時)。通常緩存的大小是固定的,在大部分情況下緩存應該盡量保存熱度較高的請求結果以提高緩存命中率,有多種緩存淘汰策略如:LRU、定期淘汰等,在
閱讀全文
posted @ 2020-08-27 00:08
chenguang9239
閱讀(222)
推薦(0)
摘要:
概念 鏈接屬性 linkage,鏈接屬性是描述鏈接器應如何鏈接變量的屬性。鏈接屬性決定某變量是否可供另一個文件使用,或者是否只在聲明它的文件中使用 外部鏈接屬性 - 本編譯單元中有外部鏈接屬性的變量/函數可被所有其他編譯單元訪問 - 其內存通常在程序啟動前的加載階段被分配 內部鏈接屬性 - 其他編譯
閱讀全文
posted @ 2020-08-15 09:28
chenguang9239
閱讀(422)
推薦(0)
摘要:
內存模型基本結構:對象和內存位置 內存順序 內存模型關系 sequenced-before 表達式的評估順序,它只在單個線程中被考慮。如語句A && B中會先執行 A,判斷為true后再執行 B,更為詳細的定義以及規則可參考Order of evaluation 代碼的順序也可以理解為sequenc
閱讀全文
posted @ 2020-07-18 16:25
chenguang9239
閱讀(536)
推薦(0)