原创 Dubbo源碼分析----處理請求

Dubbo默認是使用Netty進行通信的,那麼Netty會配置一個Handler,來處理一些事件,所以這個Handler是核心,主要找一下Dubbo初始化Netty的時候設置的Handler 回顧一下網絡通信相關,在DubboPr

原创 Dubbo源碼分析----發起請求

從如下代碼中還是分析 String sayHello = demoService.sayHello("123123"); 我們知道demoService實際上是一個代理對象,那麼假設使用的是JDK的代碼,看看獲取代理的地方 pub

原创 Netty源碼分析----PoolChunk

(*文章基於Netty4.1.22版本) Netty內存管理這塊比較複雜,斷斷續續看了一個多月了,總要有點輸出,寫幾篇文章稍微分析總結一下 整體介紹 PoolChunk的結構是一顆平衡二叉樹,如下: 注:左邊代表的是節點的

原创 RocketMQ源碼分析----HA相關(1)

簡單介紹 RocketMQ搭建集羣無非就是搭建Master和Slave,而根據Master和Slave的數量不同又分爲幾種方式: 1. 單Master無Slave:這種就是普通的單機模式了,Master一掛,消息服務就不可用了

原创 Netty源碼分析----PoolChunkList

(*文章基於Netty4.1.22版本) 整體介紹 在Netty的內存分配的整體架構中,按我的理解,PoolChunkList是爲了解決隨着分配的次數增加,分配一段連續內存失敗率提高的問題。 試想一下在Chunk中我們分配了很多

原创 Netty源碼分析----PoolSubpage

(*文章基於Netty4.1.22版本) 整體介紹 分析PoolChunk的時候,講到大於等於8KB走Chunk,否則走PoolSubpage,爲什麼要這麼做呢?假如我們需要分配1KB的內存,那麼如果還是用Chunk來分配,那麼由