原创 RocketMQ這樣做,壓測後性能提高30%

從官方這邊獲悉,RocketMQ在4.9.1版本中對消息發送進行了大量的優化,性能提升十分顯著,接下來請跟着我一起來欣賞大神們的傑作。 根據RocketMQ4.9.1的更新日誌,我們從中提取到關於消息發送性能優化的Issues:2883,具

原创 《重學Java高併發》Sempahore的使用場景與常見誤區

大家好,我是威哥,《RocketMQ技術內幕》一書作者,榮獲RocketMQ官方社區優秀佈道師、CSDN2020博客執之星Top2等榮譽稱號。目前擔任中通快遞技術平臺部資深架構師,主要負責全鏈路壓測、消息中間件、數據同步等產品的研發與落地

原创 探討緩存行與僞共享

點擊上方“中間件興趣圈”,選擇“設爲星標” 做積極的人,越努力越幸運! 最近項目中有個需求,需要用到有界隊列對訪問請求量進行流量削峯請求,同時作爲一個緩衝層對請求處理進行後續處理,Java 內置有界隊列 ArrayBlockingQueu

原创 你一直想學的 RocketMQ,原來這樣學才最省時省力

在長期面試和諮詢的過程中,我發現一個現象,一個知識點,應屆畢業生有問、工作 3、4 年的工程師在問、工作 10 年以上的專家也有在問: 廣播消費和集羣消費有什麼區別? 一個消費組訂閱多個 Tag 的情況,多個 Tag 用 || 分割

原创 Dubbo的設計理念原來就藏在這三張圖中

Dubbo在衆多的微服務框架中脫穎而出,佔據RPC服務框架的半壁江山,非常具有普適性,熟練掌握 Dubbo的應用技巧後深刻理解其內部實現原理,讓大家能更好的掌控工作,助力職場,特別能讓大家在面試中脫穎而出。 那Dubbo內部的設計理念,實現

原创 面試官:Netty的線程模型可不只是主從多Reactor這麼簡單

筆者看來Netty的內核主要包括如下圖三個部分: 其各個核心模塊主要的職責如下: 內存管理 主要提高高效的內存管理,包含內存分配,內存回收。 網通通道 複製網絡通信,例如實現對NIO、OIO等底層JAVA API 的封裝,簡化網絡

原创 尋找一把進入 Alibaba Sentinel 的鑰匙(文末附流程圖)

經過前面幾篇文章的鋪墊,我們正式來探討 Sentinel 的 entry 方法的實現流程。即探究進入 Alibaba Sentinel 核心的一把鑰匙。 @目錄1、SphU.entry 流程分析2、Sentienl ProcessorSlo

原创 源碼分析 Alibaba sentinel 滑動窗口實現原理(文末附原理圖)

要實現限流、熔斷等功能,首先要解決的問題是如何實時採集服務(資源)調用信息。例如將某一個接口設置的限流闊值 1W/tps,那首先如何判斷當前的 TPS 是多少?Alibaba Sentinel 採用滑動窗口來實現實時數據的統計。 溫馨提示

原创 源碼分析 Sentinel 之 Dubbo 適配原理

目錄 1、源碼分析 SentinelDubboConsumerFilter 2、源碼分析 SentienlDubboProviderFilters 3、Sentienl Dubbo FallBack 機制 4、總結 在Aliba

原创 初識 Kafka Producer 生產者

目錄 1、KafkaProducer 概述 2、KafkaProducer 類圖 3、KafkaProducer 簡單示例 溫馨提示:整個 Kafka Client 專欄基於 kafka-2.3.0 版本。 @(本節目錄)

原创 一次 RocketMQ 進程自動退出排查經驗分享(實戰篇)

1、背景 公司一個 RocketMQ 集羣由4主4從組成,突然其中3臺服務器“竟然”在同一時間下線,其監控顯示如下: 依次查看三臺機器的監控圖形,時間戳幾乎完美“吻合”,不可思議吧。 2、故障分析 出現問題,先二話不說,馬上重啓各服務器,

原创 再談 RocketMQ broker busy(實戰篇)

本文將在 RocketMQ 消息發送system busy、broker busy原因分析與解決方案 的基礎上,結合生產上的日誌嘗試再次理解 broker busy 以及探討解決方案。 首先,broker busy 相關的日誌關鍵字如下:

原创 RocketMQ 升級到主從切換(DLedger、多副本)實戰

目錄 1、RocketMQ DLedger 多副本即主從切換核心配置參數詳解 2、搭建主從同步環境 3、主從同步集羣升級到DLedger 3.1 部署架構 3.2 升級步驟 3.3 驗證消息發送與消息查找 本文主要介紹如何將

原创 RocketMQ 整合 DLedger(多副本)即主從切換實現平滑升級的設計技巧

目錄 1、閱讀源碼之前的思考 2、從 Broker 啓動流程看 DLedger 2.1 構建 DefaultMessageStore 2.2 增加節點狀態變更事件監聽器 2.3 調用 DefaultMessageStore 的 loa

原创 基於 raft 協議的 RocketMQ DLedger 多副本日誌複製設計原理

目錄 1、RocketMQ DLedger 多副本日誌複製流程圖 1.1 RocketMQ DLedger 日誌轉發(append) 請求流程圖 1.2 RocketMQ DLedger 日誌仲裁流程圖 1.3 RocketMQ DL