原创 數據庫高可用架構設計,看這篇就夠了!!! 數據庫高可用架構設計,看這篇就夠了!!! 一、 高可用背景 二、 數據庫複製原理 三、 常見的架構方案 四、 容災方案 五、 兜底策略:數據覈對 總結

數據庫高可用架構設計,看這篇就夠了!!! 又趕上一年一度的金九銀十的日子,這段期間的招聘崗位相對前幾個月會多些,如果在目前公司沒有進步、沒有前途時,這段時間可以準備一下,去外面看看機會。不過在外面找工作時,可以提前在網上看看招聘信息,看看自

原创 【分佈式系統】深入理解一致性 Hash 算法 【分佈式系統】深入理解一致性 Hash 算法 Hash算法原理 一致性hash算法的原理 總結

【分佈式系統】深入理解一致性 Hash 算法 近年來B2C、O2O等商業概念的提出和移動端的發展,使得分佈式系統流行了起來。分佈式系統相對於單系統,解決了流量大、系統高可用和高容錯等問題。功能強大也意味着實現起來需要更多技術的支持。例如系統

原创 年輕人不愛讀書,《狂飆》和短視頻都帶不動 “沉下心來,耐住性子,恰恰是最難的部分。”

“沉下心來,耐住性子,恰恰是最難的部分。” “讀《孫子兵法》,品啓強人生”,電視劇《狂飆》火爆熒屏,也帶動高啓強同款圖書在多個平臺賣到脫銷,連和劇中公司同名的強盛集團也在抖音櫥窗中加入了《孫子兵法》。 不過,電視劇的火爆往往來去匆匆,很難

原创 MySQL 存儲引擎 - InnoDB 實現原理介紹

存儲結構 內存結構 內存結構主要包括 Buffer Pool、Change Buffer、Adaptive Hash Index和 Log Buffer 四大組件 Buffer Pool 緩衝池,簡稱BP。BP以 Page 頁爲單位,默認

原创 C 語言實現冒泡排序 BubbleSort 算法原理 源代碼

算法原理 冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。 它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,按照順序(如從大到小、首字母從Z到A)把他們交換過來。走訪元素的工作是重複地進行,直到沒有相鄰元素

原创 ClickHouse 引擎在行爲分析場景下的 JOIN 優化

火山引擎增長分析 DataFinder 基於 ClickHouse 來進行行爲日誌的分析,ClickHouse 的主要版本是基於社區版改進開發的字節內部版本。 1. 背景 火山引擎增長分析 DataFinder 基於 ClickHouse

原创 BloomFilter 布隆過濾器思想原理和代碼實現 簡介 算法思想 應用場景 java代碼實現

簡介 布隆過濾器(Bloom Filter)是1970年由布隆提出的。它實際上是一個很長的二進制向量和一系列隨機映射函數。布隆過濾器可以用於檢索一個元素是否在一個集合中。它的優點是空間效率和查詢時間都比一般的算法要好的多,缺點是有一定的誤識

原创 golang go-sql-driver gorm 數據庫報錯 bad connection 原因 具體原因是 解決

開發Go項目中,有時候在有大量操作Mysql時,有時候會發生如下錯誤。 "driver: bad connection" 原因 這是因爲Mysql服務器主動關閉了Mysql鏈接。 在項目中使用了一個mysql鏈接,同時使用了事務,處理多個

原创 Elasticsearch 架構設計及說明 Elasticsearch 架構設計及說明

Elasticsearch 架構設計及說明 Elasticsearch 架構層: Elasticsearch 五層架構設計圖: 說明: Elasticsearch是基於Lucene架構實現的,所以其核心層爲Lucene Elas

原创 Hessian 協議極簡教程 淺析Hessian協議 4.11.1 Ref 例子

淺析Hessian協議 Hessian二進制的網絡協議使不需要引入大型框架下就可以使用,並且不需要學習其它的入門的協議。因爲它是二進制協議,它更擅長於發送二進制數據,而不需要引入其它附件去擴展它的協議。 Hessian支持很多種語言,例

原创 HBase 架構原理-數據讀取流程解析

和寫流程相比,HBase讀數據是一個更加複雜的操作流程,這主要基於兩個方面的原因: 其一是因爲整個HBase存儲引擎基於LSM-Like樹實現,因此一次範圍查詢可能會涉及多個分片、多塊緩存甚至多個數據存儲文件; 其二是因爲HBase中更新

原创 《敬告青年》陳獨秀《新青年》雜誌發刊詞 敬告青年

敬告青年 “自主的而非奴隸的:等一人也,各有自主之權。 進步的而非保守的:人生如逆水行舟,不進則退。 進取的而非退隱的:夫生存競爭,勢所不免,一息尚存,即無守退安隱之餘地。排萬難而前行,乃人生之天職。 世界的而非鎖國的。 實利的而非虛文的。

原创 Ubuntu 開啓或重啓 ssh 服務

開啓ssh服務首先需要安裝打開ssh服務的庫: sudo apt-get install openssh-server 檢查當前的ssh開啓情況: ps -e |grep ssh 如果有sshd,則ssh-server已經啓動;若僅有a

原创 Linux (Ubuntu): vlc root permission

Snap packages are in containers which prevent them from "seeing" outside of those containers unless you give them permis

原创 Ubuntu 設置開機時 grub 啓動的系統內核版本

使用下面的命令查看安裝的內核版本:dpkg --get-selections | grep linux-modules修改配置文件:sudo vim /etc/default/grub配置修改內容如下:GRUB_DEFAULT="Advan