原创 消息中間件之Kafka

公司需求變動,對消息中間件的選型從RabbitMQ轉爲Kafka,我也這段時間好好了看了下Kakfa。將最近的學習筆記整理整理,共享一哈。 1、什麼是kafka Apache kafka是消息中間件的一種。 舉個例子,生產者消費

原创 Kafka的API-Java篇

上一篇文章已經將Kafka的服務配置分享了一遍,這篇主要是將java的API分享一波。 Kafka有四個核心API: Producer API :允許應用程序發送數據流到kafka集羣中的topic。 Consumer API

原创 Springboot集成Kafka完成消息回調,錯誤處理,消息攔截,批量處理

這篇文章主要是分享我做消息回調,錯誤處理,消息攔截,批量處理的一些代碼,希望大家給我指出不足之處。 消息回調 這個簡單,你只需要實現一個接口:ProducerListener @Component public class Kaf

原创 利用Canal全量/增量同步mysql數據至ES

Canal同步mysql數據至ES 1、更改Mysql配置 1.1 開啓 Binlog 寫入功能 配置 binlog-format 爲 ROW 模式,配置my.cnf [mysqld] log-bin=mysql-bin # 開啓

原创 Springboot集成Kafka實現消息隊列的組件化

一、Kafka簡介 1.1 Kafka架構 (1)點對點消息系統 (2)發佈 - 訂閱消息系統 1.2 Kafka的組件介紹 1、Producer:消息生產者,就是向kafka broker發送消息的客戶端 2、Concum

原创 數據庫歸檔的實現方案調研(二)

之前的文章裏已經寫了使用TokuDB進行數據壓縮,準確的說,但 TokuDB並非是歸檔,而是對數據進行壓縮,使得數據庫在保存大量數據時有更好的表現,這節就是描述一個數據庫歸檔方案。 經過調研,發現一個比較好的工具: pt-arch

原创 解決緩衝區泄漏

解決緩衝區泄漏 引用計數的缺點是容易泄漏引用計數的對象。因爲JVM不瞭解Netty實現的引用計數,所以一旦它們無法訪問,即使它們的引用計數不爲零,它也會自動對它們進行GC。一旦回收了垃圾,就無法將其復活,因此不能將其返回到它來自的

原创 Spring Cloud Stream消費失敗後的處理策略(三):使用DLQ隊列

Spring Cloud Stream消費失敗後的處理策略(三):使用DLQ隊列 應用場景 前兩天我們已經介紹了兩種Spring Cloud Stream對消息失敗的處理策略: 自動重試:對於一些因環境原因(如:網絡抖動等不穩定

原创 數據庫歸檔的實現方案調研(一)

公司最近說是數據庫中數據量比較大,好多是15/16年的數據,基本不用,但是堆在數據庫又嚴重影響性能,想找個方法解決掉它。所以,這個任務就這麼放到了我的頭上。 一、 目前問題 業務系統的業務表的數據量很大,嚴重影響性能,需要進行優化

原创 ES學習第二篇

ES學習第二篇 一、與elastic search的交互 我是Java工程師,相應的我就說我們是怎麼交互的。 1.1 Java API 在代碼中你可以使用 Elasticsearch 內置的兩個客戶端: 1.1.1 節點客戶端 節

原创 Redis Cluster與Codis的選擇

Redis Cluster與Codis的選擇 一、Codis 1.1 Codis是什麼 Codis 是 Wandoujia Infrastructure Team 開發的一個分佈式 Redis 服務, 用戶可以看成是一個無限內存的

原创 Canal入門(四)

Canal入門(四) 實際上,在實際應用開發中,單體架構的很少存在,我們要爲其做一個HA高可用的架構,保障其中一臺宕機後,不影響正常使用。 Canal的HA模式配置 1、機器準備 a. 運行canal的機器: 10.20.144

原创 Canal進階(二)

我們公司的業務流程是通過canal模擬MySQL slave的交互協議,獲取MySQL的binary log,從而解析MySQL的日誌。將解析後的數據通過kafka發送至其他系統從而達到數據同步的目的。 所以canal與kafka

原创 Spring Cloud Stream消費失敗後的處理策略(四):使用DLQ隊列(Kafka版)

Spring Cloud Stream消費失敗後的處理策略(四):使用DLQ隊列(Kafka版) 之前寫了一個一個DLQ的rabbit版本,接下來說一下kafka版本的。因爲kafka的管理監控界面沒有那麼詳細(我太菜,沒找到)。

原创 Kafka的條件接收

有時候,我們需要有針對性的接收一些消息,在之前的文章裏我已經寫過基於kafkaTemplate的消息組件。 Springboot集成Kafka完成消息回調,錯誤處理,消息攔截,批量處理。 關於cloud stream又有了新的攔截