降級與熔斷 1.1项戴、降級 降級也就是服務(wù)降級汉柒,當(dāng)我們的服務(wù)器壓力劇增,為了保證核心功能的可用性鳍刷,可以選擇性的降低一些功能的可用性奸忽,或者直接關(guān)閉該功能。典型的棄車保帥!就比如貼...
降級與熔斷 1.1项戴、降級 降級也就是服務(wù)降級汉柒,當(dāng)我們的服務(wù)器壓力劇增,為了保證核心功能的可用性鳍刷,可以選擇性的降低一些功能的可用性奸忽,或者直接關(guān)閉該功能。典型的棄車保帥!就比如貼...
1香罐、過期時間(TTL) 通過消息的timestamp字段和ConsumerInterface接口的onConsumer()方法可實(shí)現(xiàn)消息的TTL功能,但是有一個局限时肿,就是每條...
1庇茫、文件目錄布局 不考慮多副本的情況,一個分區(qū)對應(yīng)一個日志(log)螃成。為了防止log過大旦签,Kafka還引入了日志分段(LogSegment)的概念,將log切分為多個LogS...
主題作為消息的歸類寸宏,可以再細(xì)分為一個或多個分區(qū)宁炫,分區(qū)可以看作對消息的二級歸類。分區(qū)的劃分不僅為Kafka提供了可伸縮性氮凝、水平擴(kuò)展的功能羔巢,還通過多副本機(jī)制為Kafka提供數(shù)據(jù)冗...
http://www.reibang.com/p/aa0d4808cbb8 1、底層數(shù)據(jù)結(jié)構(gòu) hashmap的定義位于src/runtime/hashmap.go 中,...
1罩阵、消費(fèi)者和消費(fèi)者組 消費(fèi)者負(fù)責(zé)訂閱Kafka中的主題竿秆,并從訂閱的主題中拉取消息。與其他消息中間件不同的是:Kafka中的消費(fèi)理念中還有一層消費(fèi)者組(consumer gro...
1稿壁、客戶端開發(fā) 下面是構(gòu)造的消息對象ProducerRecord. public class ProducerRecord<K,V>( private final St...
前言:切片的設(shè)計思想來源于動態(tài)數(shù)組幽钢,是為了開發(fā)者能更加方便地使用使一個數(shù)據(jù)結(jié)構(gòu)能自動增加和減少,但是切片本身并不是動態(tài)數(shù)組傅是。 1匪燕、切片與數(shù)組 Go是值傳遞的,用切片傳遞數(shù)組參...
前言: Kafka雖然是基于磁盤做的數(shù)據(jù)存儲喧笔,但卻具有高性能帽驯、高吞吐、低延時的特點(diǎn)溃斋,其吞吐量動輒幾萬界拦、幾十上百萬」=伲總結(jié)起來大致就5個原因,順序讀寫截碴、零拷貝梳侨、分區(qū)、批量發(fā)送日丹、數(shù)...
概述 Kafka目前被定義為一個分布式流式處理平臺走哺,它以高吞吐、可持久化哲虾、可水平擴(kuò)展丙躏、支持流數(shù)據(jù)處理等多種特性被廣泛使用择示。 1、消息系統(tǒng):Kafka和傳統(tǒng)的消息中...
并發(fā)晒旅!=并行 首先栅盲,假如我們有一段CPU密集型任務(wù),我們創(chuàng)建2000個gorountine是否真的可以將性能提升2000倍废恋?答案是肯定不能谈秫,因?yàn)槲覀冎皇亲龅搅?000次的并發(fā)...
前言:Redis服務(wù)器是一個事件驅(qū)動程序,服務(wù)器需要處理兩種事件: 1鱼鼓、文件事件:Redis服務(wù)器通過套接字和客戶端進(jìn)行鏈接拟烫,而文件事件就是服務(wù)器對套接字操作的抽象。服務(wù)端和...
1迄本、混合持久化 重啟redis時硕淑,我們很少使用RDB來恢復(fù)內(nèi)存狀態(tài),因?yàn)闀G失大量數(shù)據(jù)嘉赎。我們通常使用AOF日志重放置媳,但是重放AOF日志性能相對RDB來說要慢很多,這樣在r...
前言:redis還提供了AOF持久化功能曹阔。于RDB持久化不同半开,AOF持久化是通過保存redis服務(wù)器所執(zhí)行的寫命令來記錄數(shù)據(jù)庫狀態(tài)的。服務(wù)器在啟動時赃份,通過載入和執(zhí)行AOF文件...
前言:redis是內(nèi)存數(shù)據(jù)庫寂拆,它將自己的數(shù)據(jù)保存在內(nèi)存中,所以如果不想辦法將內(nèi)存中的數(shù)據(jù)保存到磁盤里面抓韩,那么一旦服務(wù)器程序退出纠永,服務(wù)器中的數(shù)據(jù)就會消失不見。 為了解決這個問題...
1谒拴、服務(wù)器中的數(shù)據(jù)庫 redis服務(wù)器將所有數(shù)據(jù)庫都保存在服務(wù)器狀態(tài)redis.h/redisServer結(jié)構(gòu)體尝江,db數(shù)組的每個項都是一個redis.h/redisDb結(jié)...
前言:Reids并沒有直接使用這些數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)數(shù)據(jù)庫的鍵值對,而是基于這些數(shù)據(jù)結(jié)構(gòu)創(chuàng)建了一個對象系統(tǒng)英上,這個對象系統(tǒng)包括字符串對象炭序、列表對象、哈希對象苍日、集合對象惭聂、有序集合對象...
前言:壓縮列表是列表鍵、哈希鍵相恃、有序集合的底層實(shí)現(xiàn)之一辜纲。 當(dāng)一個列表鍵只包含少量列表項,并且每個項要么是小整數(shù)或者短字符串的時候,redis使用壓縮列表來實(shí)現(xiàn)列表鍵耕腾。 當(dāng)一個...