一、RocketMQ概述
1.1)RocketMQ產(chǎn)生的原因
1.2)RocketMQ如何支持多分區(qū)
二柄驻、定義與概念
同步發(fā)送:發(fā)送后等待服務(wù)端給響應(yīng)發(fā)送成功之后信息才給用戶提示
異步發(fā)送:直接提示用戶已發(fā)送狐树,等到服務(wù)端響應(yīng)發(fā)送成功后再用回調(diào)函數(shù)處理
推動式消費:有一個進程執(zhí)行對RocketMQ拉取消息,再將消息發(fā)送給消費者鸿脓,在消費者眼中看不到進程以為是Broker推送的
Topic:比如同一份消息需要發(fā)送給PC抑钟,APP,站內(nèi)短信野哭,郵件在塔,針對不同渠道信息不同排版使用不同Topic進行隔離
Name Server:提供zookeeper一部分功能維護Broker列表,特色功能可通過名字找主題虐拓。相互獨立類似于Redis sentinel互相獨立相互監(jiān)視心俗,好處是權(quán)利平行解決不需要配置主從
Pull Comsumer:對應(yīng)消費端主動性高,不管生產(chǎn)端發(fā)送多少我根據(jù)自己能力消費
Push Comsumer:不在乎消費端有沒有消費完就主動推
Producer Group:提供備份防止一個Producer掛掉可以進行頂替
集群消費:相當于Kafka輪詢
廣播消費:消除了Kafka一個Partition只能被消費者組中一個消費者消費蓉驹,一個Partition可以被所有Comsumer全量接收
三、安裝 & 啟動
安裝RocketMQ Dashboard
四、基于rocketmq-client 項目實戰(zhàn)
五绍撞、設(shè)計與架構(gòu)
5.1)Producer & Consumer
5.2)NameServer
5.3)BrokerServer
5.4)概念補充
5.5)消息存儲
5.6)頁緩存與內(nèi)存映射
微服務(wù)比較火因分為兩部分,不同服務(wù)配置不同性能的機器得院,一個服務(wù)又要高CPU又要大磁盤拆不開:
計算型:采用高CPU傻铣,高內(nèi)存
IO型:大內(nèi)存,SSD大磁盤
5.7)消息刷盤
5.8)高可用性
5.9)負載均衡
5.9.1)Producer端
5.9.2)Consumer端概述
5.9.3)Consumer端集群模式