原创 如何實現一個單例模式
單例模式定義: 保證一個類只要一個實例,並提供一個訪問它的全局訪問點。 應用場景: 如下圖,一般我們都會配置一下配置參數在文件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拉去消息進行消費。 上面這個流程會有下面