一文讀懂kafka

2021-09-28 22:00:09 字數 1020 閱讀 9404

kafka如何保證訊息可靠性

kafka具有高吞吐量(分割槽機制),高容錯率(解決併發消費問題)、高可靠性(副本備份)的優點,主要應用於以下三點

介面非同步解耦:減少請求時間

行為分析:記錄使用者行為進行分析

日誌收集

producer:生產者,負責發布訊息到broker

customer:消費者,從broker拉取訊息進行處理

zookeeper:維護kafka節點資訊

topic:訊息型別

partitioner:分割槽,每個topic分為多個分割槽

broker:kafka集群的伺服器

segment:磁碟上分區內的分片儲存資料

offset:分割槽訊息儲存的偏移量

coordinator:管理group的角色,產生於某個broker

hw:(high water)水位:所有副本中最小的已備份的位移值

group.id:多個消費者構成乙個分組消費乙個主題內的所有分割槽(partitioner),若只有乙個分割槽,則只有乙個消費者可以消費

enable.auto.commit:上文提到的自動提交

auto.offset.reset:控制新的groupid消費該topic時的訊息讀取:

a.lastest:從最後的offset開始消費

b.earlies:從最早的訊息開始消費

c.none:之前不存在offset則拋異常

max.poll.records:消費者每次最大拉去訊息數量

選舉策略:isr優先選取第乙個作為leader副本,如果isr為空並且unclean.leader.election.enable(是否允許非isr副本作為leader)為false,則丟擲noreplicaonlineexception異常

一文讀懂Nginx

問 nginx的負載均衡演算法有什麼?預設是什麼演算法?答 1 輪詢 按請求的時間輪詢查空閒的後端伺服器 2 指定輪詢機率 機率的原因是後端伺服器的效能不均勻,好的多分點,差的少分點 3 固定ip繫結固定伺服器 預設是加權輪詢,就是優先訪問權重高的伺服器 問 nginx是單執行緒的嗎?答 是單執行緒...

一文讀懂SpringMVC

主要講的是dispatcherservlet這個類 ioc其實是乙個map,工程啟動後掃瞄路徑,根據類的全限定名建立bean 問 怎麼根據路徑找到方法?map還存key為 aaa value為該controller例項 問 autowired原理?自定義註解,在載入的時候,掃瞄controller層...

堆疊 一文讀懂

堆疊 stack 是一種先進後出的 操作受限的線性表,也可以直接稱為棧。可以把棧想象成乙個桶一樣,往這個桶裡面一層一層的放東西,先放進去的在裡面,後放進去的東西依次在外面。但取東西的時候就是先取靠近外面的,再依次一層層取裡面的。這就是 後進先出 last in first out 的原則。因此 棧 ...