前言寫這篇文章的起因是由於之前的一篇關於Kafka異常消費,當時為了解決問題不得不使用臨時的方案。總結起來歸根結底還是對Kafka不熟悉導致的,加上平時工作的需要,之后就花些時間看了Kafka相關的資料。何時使用MQ談到Kafka就不得不提到MQ,是屬於消息隊列的一種。作為一種基礎中間件在互聯網 ...
本文主要講解 MQ 的通用知識,讓大家先弄明白:如果讓你來設計一個 MQ,該如何下手 需要考慮哪些問題 又有哪些技術挑戰 有了這個基礎后,我相信后面幾篇文章再講 Kafka 和 RocketMQ 這兩種具體的消息中間件時,大家能很快地抓住主脈絡,同時分辨出它們各自的特點。 對於 MQ 來說,不管是 RocketMQ Kafka 還是其他消息隊列,它們的本質都是:一發一存一消費。下面我們以這個本質 ...
2021-09-08 19:00 0 988 推薦指數:
前言寫這篇文章的起因是由於之前的一篇關於Kafka異常消費,當時為了解決問題不得不使用臨時的方案。總結起來歸根結底還是對Kafka不熟悉導致的,加上平時工作的需要,之后就花些時間看了Kafka相關的資料。何時使用MQ談到Kafka就不得不提到MQ,是屬於消息隊列的一種。作為一種基礎中間件在互聯網 ...
異步處理: 場景說明:用戶注冊后,需要發注冊郵件和注冊短信,傳統的做法有兩種 1,串行的方式 2,並行的方式 串行方式:將注冊信息寫入數據庫后,發送注冊郵件,在發送注冊短信,以上三個任務全部完成之后才返回給客戶端。這有一個問題是,郵件,短信並不是必須的,它只是一個通知,而這總做法 ...
volatile是java語言中的一個關鍵字,常用於並發編程,有兩個重要的特點:具有可見性,java虛擬機實現會為其滿足Happens before原則;不具備原子性.用法是修飾變量,如:volatile int i. volatile原理 介紹其可見性先從cpu,cpu緩存和內存的關系入手 ...
問題的引出: 傳統的OOP程序經常表現出一些不自然的現象,核心業務中總摻雜着一些不相關聯的特殊業務,如日志記錄,權限驗證,事務控制,性能檢測,錯誤信息檢測等等,這些特殊業務可以說和核心業務沒有根本上 ...
Mycat原理 Mycat的原理並不復雜,復雜的是代碼,如果代碼也不復雜,那么早就成為一個傳說了。Mycat的原理中最重要的一個動詞是“攔截”,它攔截了用戶發送過來的SQL語句,首先對SQL語句做了一些特定的分析:如分片分析、路由分析、讀寫分離分析、緩存分析等,然后將此SQL發往后端的真實 ...
什么是MQ MQ(Message Queue),為消息隊列,又叫消息中間件,是類似於數據庫一樣的應用,需要單獨去部署。 消息 – 是在兩台計算機間傳送的數據單位。消息可以非常簡單,例如只包含文本字符串; 也可以更復雜,可能包含嵌入對象。 消息被發送到隊列中。 隊列 ...
,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息隊列應用場景以下介紹消息隊 ...
,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息隊列應用場景以下 ...