原创 2021 — 冰與火之歌

大半夜的睡不着,越發的想給 2021 年作個總結,一想更睡不着了,來嘮叨下吧。 一拖再拖的婚禮。本來定在今年正月的婚禮,因爲疫情,不敢辦,村裏也不讓辦;然後選在國慶吧,臥槽,封城了,我連老家都回不去,想想國慶待在宿舍的七天,簡直頭大,我恨疫

原创 tcp 連接 time-wait 狀態過多問題解釋

前言 兩條豎線分別是表示: 主動關閉(active close)的一方 被動關閉(passive close)的一方 網絡上類似的圖有很多,但是有的細節不夠,有的存在誤導。有的會把兩條線分別標記成 client 和 server。給讀

原创 【轉】京東評價系統海量數據存儲設計

概述 京東的商品評論目前已達到數十億條,每天提供的服務調用也有數十億次,而這些數據每年還在成倍增長,而數據存儲是其中最重要的部分之一,接下來就介紹下京東評論系統的數據存儲是如何設計的。 整體數據存儲包括基礎數據存儲、文本存儲、數據索引、數據

原创 《拉鉤課程 — 重學數據結構與算法》學習筆記

一、代碼效率優化方法論 1、數據結構,從名字上來看是數據的結構,也就是數據的組織方式。 2、複雜度是衡量代碼運行效率的重要度量因素。 3、複雜度是一個關於輸入數據量 n 的函數。假設你的代碼複雜度是 f(n),那麼就用個大寫字母 O 和括號

原创 《拉鉤課程 — 計算機網絡通關》學習筆記

一、概述 1、程序員基礎知識大致可以分爲七種基本科學:計算機組成原理、操作系統、計算機網絡、算法和數據結構、圖形學、編譯原理、編輯技巧。 2、ISP:Internet Service Provider,本地網絡服務提供商。 通常,局域網網

原创 DMA 與零拷貝技術

原文鏈接:DMA 與零拷貝技術 注意事項:除了 Direct I/O,與磁盤相關的文件讀寫操作都有使用到 page cache 技術。 1. 數據的四次拷貝與四次上下文切換 很多應用程序在面臨客戶端請求時,可以等價爲進行如下的系統調

原创 唯一主鍵方案之數據庫維護區間分配

我們介紹一種基於數據庫維護自增 ID 區間,結合內存分配的策略,這也是淘寶的 TDDL 等數據庫中間件使用的主鍵生成策略。 使用這種方式首先在數據庫中創建 sequence 表,其中的每一行,用於記錄某個業務主鍵當前已經被佔用的 ID 區間

原创 Guava 內存緩存的使用

一、概述 guava⽬前有三種刷新本地緩存的機制: expireAfterAccess:當緩存項在指定的時間段內沒有被讀或寫就會被回收。 expireAfterWrite:當緩存項在指定的時間段內沒有更新就會被回收。-- 常用 refre

原创 《拉鉤課程 — 分佈式技術原理與實戰》學習筆記

1、分佈式系統是用來解決集中式架構的性能瓶頸問題,其核心是可擴展性,其特點包括:不出現單點故障、無狀態等。依照 CAP 理論,分佈式系統只能在 CP 和 AP 之間做取捨。 2、Base 理論是在 CAP 理論上發展的,是 CAP 理論的實

原创 【轉】談談 JVM 內部鎖升級過程

一、加鎖發生了什麼 //System.out.println都加了鎖 public void println(String x) { synchronized (this) { print(x); newLine();

原创 TCP 和 UDP 協議簡介

一、TCP TCP(Transmission Control Protocol),傳輸控制協議,對“傳輸、發送、通信”進行“控制”的協議,它充分地實現了數據傳輸時的各種控制功能,可以進行丟包時的重發控制,還可以對次序亂掉的分包進行順序控制。

原创 Paxos 協議簡單介紹

一、簡介 Paxos 協議是少數在工程實踐中證實的強一致性、高可用的去中心化分佈式協議。Google 的很多大型分佈式系統都採用了 Paxos 算法來解決分佈式一致性問題,如 Chubby、Megastore 以及 Spanner 等。開源

原创 Lease 機制和 Quorum 機制

一、Lease 機制 Lease 機制是最重要的分佈式協議,廣泛應用於各種實際的分佈式系統中。即使在某些系統中相似的設計不被稱爲 Lease,但我們可以分析發現其本質就是一種 Lease 的實現。 Lease 機制的定義如下:lease 是

原创 HBase 學習二(最佳實踐).

一、Rowkey 優化 Rowkey 是行的主鍵,它是以字典順序排序的。所以 Rowkey 的設計是至關重要的, 關係到你應用層的查詢效率。 整規化 Rowkey 有時作爲 Rowkey 的字段長度不一樣,比如 user_id, 而通過對

原创 HBase 學習一(基礎入門).

一、HBase 是什麼? HBase 是一個分佈式的、面向列的開源數據庫,該技術來源於 Fay Chang 所撰寫的 Google 論文 “Bigtable:一個結構化數據的分佈式存儲系統” 。就像 Bigtable 利用了 Google