原创 Zookeeper分佈式鎖原理筆記

Zookeeper分佈式鎖原理筆記 zookeeper以樹結構主要保存分佈式協調信息狀態 zookeeper簡單問題篇跳轉我前文8.2章節 Zookeeper基礎 znode結構 path 唯一路徑 childNode 子節點

原创 系統設計問題

1 題外話和系統設計無關的 內存映射問題 一個進程虛擬地址 2^64/2^32 (64和32取決於計算機多少位),虛擬地址裏面分段,每段裏面分頁 每個進程都只知道自己存在,以爲自己是計算機唯一存在的 邏輯地址 假設20 -> 線

原创 Netty內存池和對象池簡單總結

查閱的資料有限,歡迎糾錯 1 什麼是堆 JAVA中 調用new方法時候會堆上存放真正對象,棧中變量引用指向這個堆中的對象。 方法區改成元空間後,堆中也添加了常量池,因爲這個改變intern等也發生了變動 2 Netty下堆外內

原创 第十五章 其他軟件基本使用

15.1 ElasticSearch 15.2 Docker 15.3 Linux 15.1 ElasticSearch應用 分佈式全文搜索引擎 ES在大數據下更快,小數據查詢solr更快 ES僅支持JSON,solor支持JS

原创 纖程/協程詳細總結

看了一大堆講協程的文章,都是看的似懂非懂,自己學習後就寫一個總結了 微內核/宏內核 進程,線程,纖程/協程定義 進程資源分配最小單位,線程CPU調度/執行最小單位。 當運行一個程序,點擊一次則啓動一個進程放入內存執行,進程內UI,

原创 第十四章 Kafka

14.1 Kafka架構 14.2 應用 14.1 Kafka架構 基於TCP,一個分佈式流處理平臺 處理大數據,scala編寫高水平擴展,高吞吐量分佈式消息系統 數據以Topic歸類,Producer,Consumer kaf

原创 第二章Spring源碼

第二章Spring 2.1 Spring基礎 2.2 Spring生命週期完整源碼流程 2.3 Spring實例化Bean源碼過程(及三級緩存如何處理循環依賴 2.4 AOP底層原理及應用 2.5 SpringMVC到Spring

原创 計算機網絡問題

1 三次握手,四次揮手 三次握手 爲什麼需要握手 TCP需要數據安全性,不同連接之間不能混淆,所以序列號不一樣,每次握手雙方得提供序列號同步 (另外還同步報文,滑動窗口等等) 爲什麼是三次握手,不能是四次 因爲四次揮手多了

原创 第十三章 大數據Hadoop原理應用

13.1 HDFS原理及應用 13.2 MapReduce與Yarn原理及應用 13.1 HDFS原理及應用 分而治之簡單介紹 Hadoop(5.x版本比較好)。批轉流計算(批量積攢一段時間數據,然後流式處理) 內存尋址(納秒級

原创 第十二章 負載均衡中間件

12.1 Nginx/lua 12.2 LVS 12.3 CDN 12.4 keepalived 12.1 Nginx/lua 一款輕量級Web服務器/反向代理及電子郵件代理服務器 佔內存少,數據結構緊湊,零拷貝,配置文件簡單

原创 第十一章 Mysql集羣方案

11.1 Mycat 11.2 sharding-jdbc 11.1 Mycat 性能很好的分庫分表中間件 大數據集羣,加強版mysql數據庫,融合內存緩存,NoSql,HDFS大數據的新SQL服務器 應用場景 分庫分表,讀寫

原创 第十章 Netty

10.1 IO模型 10.2 Netty原理源碼 10.3 Netty應用 10.1 IO模型 我覺得這篇IO講得太好了,我自己再解釋一遍就是暴殄天物 Reactor設計模式 所有IO操作都由NIO單線程完成,然後通過這個線程分配

原创 第八章 分佈式相關算法和理論

8.1 分佈式相關理論和算法 8.2 分佈式之zookeeper 8.3 SEATA分佈式事務源碼原理 8.1 分佈式相關理論和算法 分佈式負載均衡算法 1 輪詢算法 2 權重輪詢算法 3 一致性哈希 4 最少連接數 5 最快相應

原创 第九章 Dubbo

9.1 Dubbo基本原理 9.2 Dubbo相關問題 9.3 Dubbo應用及簡單源碼實現 9.4 Dubbo SPI基本原理 9.1 Dubbo基本原理 簡單說說RPC 遠程調用計算機通訊協議,比如HTTP/TCP等都是 簡

原创 第六章 Redis

6.1 Redis基礎 6.2 Redis持久化 6.3 Redis相關問題 6.4 Redis各種集羣方案 6.1 Redis基礎 爲什麼Redis快?(本機10萬 QPS,經網絡IO 3萬QPS) 1 Redis基於內存 2