原创 如何實現一個單例模式

單例模式定義: 保證一個類只要一個實例,並提供一個訪問它的全局訪問點。 應用場景:    如下圖,一般我們都會配置一下配置參數在文件conf.properties中,應用程序線程在運行的時候會先加載解析配置文件,將文件內容保存到數據對象c

原创 kafka源碼---運行環境搭建

目錄 介紹: 環境搭建: 一  下載源碼。 1.源碼下載:  2.配置工程: 二  運行源碼 1.啓動kafka  2.搭建zookeeper 3.運行kafka 和zookeeper 4.創建producer發送一條消息   介紹:  

原创 rocketmq 事務消息是如何保證發送消息不丟失的

前言     rocketmq 消息隊列在大部分業務系統中都會用到(如下圖),服務A和服務B系統通過mq進行業務解耦;服務A處理完業務之後,發一條消息到rocketmq,服務B從rocketmq拉去消息進行消費。  上面這個流程會有下面

原创 kafka源碼---生產者,一條消息是如何發送到kafka的(一)

介紹:      從這章開始講kafka生產者。首先講的是kafka的發送消息流程。kafka發送消息的流程和rocketmq有點類似,無非就是創建網絡連接,獲取kafka集羣broker 的ip port地址,topic 的分區part

原创 Rocketmq 如何使用dledger集羣模式保證主從節點故障自動恢復的

前言:      在rockemq4.5之前,rocketmq集羣架構都是master-slave主從架構部署,如下圖,master節點負責寫入消息,slave節點負責同步master節點消息。假設master-1節點有個topic-A,

原创 kafka源碼---源碼目錄介紹

目錄 介紹:   一.目錄結構 二.core目錄 三.client目錄 介紹:      瞭解kafka項目的目錄結構,才能去更好的閱讀kafka源碼,下面會整體介紹一下kafka源碼目錄結構,然後在着重講core 和client兩個核心

原创 eureka 註冊中心和zookeeper註冊中心的區別

   一、介紹 eureka 和zookeeper(zk) 是我經常接觸到的兩個常見的註冊中心中間件。一般情況,springcloud 項目都會用eureka做爲註冊中心,kafka用zk做爲數據元數據管理和註冊中心。 二、對比 集羣結構

原创 如何使用策略模式替換業務中的if else 讓代碼更優雅的

策略模式定義: 定義一些算法類,分別將他們封裝起來,讓他們可以互相替換。策略模式可以讓算法的變化獨立與使用他們的的客戶端(調用者)。 應用場景: 我們有個支付系統,可以支持微信,支付寶,銀聯,農行等不同支付渠道,由於不同支付渠道處理方式不

原创 設計模式之單例模式的實現

單例模式定義: 保證一個類只要一個實例,並提供一個訪問它的全局訪問點。 應用場景:    如下圖,一般我們都會配置一下配置參數在文件conf.properties中,應用程序線程在運行的時候會先加載解析配置文件,將文件內容保存到數據對象c

原创 Rocketmq 架構原理介紹

介紹:    要掌握Rocketmq,首先要了解Rocketmq的集羣架構原理。 上圖是一個rockemq集羣架構圖,根據這個圖讓我們來了解一下Rocketmq集羣原理: NameSrv 路由中心集羣    負責保存broker top

原创 Rocketmq 如何使用dledger保證主從節點故障自動恢復的

前言:      在rockemq4.5之前,rocketmq集羣架構都是master-slave主從架構部署,如下圖,master節點負責寫入消息,slave節點負責同步master節點消息。假設master-1節點有個topic-A,

原创 rocketmq如何利用事務消息保證業務和發送消息的一致性

前言     rocketmq 消息隊列在大部分業務系統中都會用到(如下圖),服務A和服務B系統通過mq進行業務解耦;服務A處理完業務之後,發一條消息到rocketmq,服務B從rocketmq拉去消息進行消費。  上面這個流程會有下面