并發(fā)編程中,多個線程共享一個資源時,我們得考慮維護(hù)這個資源的原子性踱卵,確保 一個線程在操作共享資源時倒戏,同時不會被另一個線程所操作 JDK1.6 版本之前紧索,Synchronize...
![240](https://cdn2.jianshu.io/assets/default_avatar/11-4d7c6ca89f439111aff57b23be1c73ba.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
并發(fā)編程中,多個線程共享一個資源時,我們得考慮維護(hù)這個資源的原子性踱卵,確保 一個線程在操作共享資源時倒戏,同時不會被另一個線程所操作 JDK1.6 版本之前紧索,Synchronize...
kafka consumer 通過偏移量來記錄消息的消費(fèi)進(jìn)度紧帕,當(dāng)consumer poll一次消息時睬隶, consumer內(nèi)部維護(hù)了一個指針郁副,能夠探測到下一條要消費(fèi)的數(shù)據(jù)减牺,當(dāng)r...
水位是一個單調(diào)增加且表征最早未完成工作(oldest work not yet completed)的時間戳。 藍(lán)色部分代表已完成的工作存谎,紅色部分代表正在進(jìn)行的工作拔疚,分界線就...
首先我們先看一下kafka索引的類關(guān)系 可以看出索引主要分成三種吸占,位移索引,時間戳索引和事務(wù)索引凿宾,都繼承于AbstractIndex 這個抽象類矾屯,我們看看AbstractIn...
kafka消息在分區(qū)中是按序一條一條存儲的,假如分區(qū)中有10條消息初厚,位移就是0-9件蚕, consumer消費(fèi)了5條消息,那么offset就是5惧所,指向了下一條要消費(fèi)的記錄骤坐,con...
redis cluster保存的數(shù)據(jù)量及吞吐量跟集群的規(guī)模相關(guān),Redis 官方給出了 Redis Cluster 的規(guī)模上限下愈,是一個集群運(yùn)行1000 個實例纽绍。為什么規(guī)定集群...
數(shù)據(jù)傾斜通常分為兩種情況,一是各實例上面的數(shù)據(jù)不均勻势似,個別實例數(shù)據(jù)量特別多拌夏; 二是某個實例上的熱點(diǎn)數(shù)據(jù)多,導(dǎo)致的訪問量傾斜履因。發(fā)生了數(shù)據(jù)傾斜障簿,那么保存了大量 數(shù)據(jù)或者是保存了熱...
秒殺場景的特點(diǎn)是短時間、高并發(fā)栅迄,業(yè)務(wù)系統(tǒng)要處理瞬時的大量高并發(fā)請求站故,而Redis 的高性能特性就經(jīng)常被用來支撐秒殺活動。 根據(jù)我們的購物體驗毅舆,我們可以把秒殺場景分為三個階段西篓,...
關(guān)于redis,通常我們的認(rèn)知是他很快憋活,拋開io設(shè)計模式及線程架構(gòu)岂津,我們單從底層數(shù)據(jù)結(jié)構(gòu)了解一下redis的trade-off. 先了解一下redis的sds,sds的編碼有...
根據(jù)當(dāng)前計算機(jī)系統(tǒng)的三層儲存架構(gòu)悦即,cpu緩存吮成,內(nèi)存,磁盤辜梳,我們?nèi)粘i_發(fā)通常會模仿這三層儲存架構(gòu)而在數(shù)據(jù)庫之上添加機(jī)器本地緩存及redis緩存粱甫,既然涉及到了多個儲存系統(tǒng),那么必...
緩存污染 緩存污染指的是緩存中的數(shù)據(jù)的訪問次數(shù)很少冗美,當(dāng)有大量數(shù)據(jù)只是某些場景下被集體訪問了一次或少數(shù)幾次魔种,或者只是某個時間 段內(nèi)被訪問,后續(xù)就無訪問粉洼,那么這些數(shù)據(jù)對于內(nèi)存而言...
從我們編寫的java文件到機(jī)器上跑起來的系統(tǒng)节预,中間經(jīng)歷了什么呢? 首先java文件經(jīng)過類編譯成為.class文件属韧,class文件經(jīng)過類加載加載到虛擬機(jī)中安拟,在虛擬機(jī)中經(jīng)過鏈接、...
redis是內(nèi)存數(shù)據(jù)庫宵喂,所以發(fā)生宕機(jī)后糠赦,數(shù)據(jù)會消失,所以數(shù)據(jù)的持久化至關(guān)重要锅棕,接下來我們看一下redis關(guān)于持久化是如何設(shè)計的拙泽。 AOF 關(guān)于日志,我們在學(xué)習(xí)mysql或者z...
redis為了實現(xiàn)高可靠性裸燎,通過RDB和AOF盡量減少了數(shù)據(jù)的丟失顾瞻,通過主從模式盡量減少了服務(wù)的中斷,增加了實例的副本的主從模式和讀寫分離保證了數(shù)據(jù)的一致性德绿。 如果沒有讀寫分...
主從模式下的redis集群荷荤,如果主庫掛了,那么就無法接收寫操作移稳,所以哨兵模式應(yīng)運(yùn)而生蕴纳。 哨兵是一個運(yùn)行在特殊模式下的 Redis 進(jìn)程,主要負(fù)責(zé)監(jiān)控个粱、選主和通知 哨兵通信機(jī)制...
隨著業(yè)務(wù)的發(fā)展古毛,redis單實例不夠存儲的時候,我們會考慮通過scale out橫向拓展 或者scale up縱向拓展都许,比如我們目前8G內(nèi)存100G硬盤的實例稻薇,我們可以縱向 ...
codis是在redis官方集群方案redis-cluster發(fā)布之前便已被業(yè)界廣泛使用的redis集群解決方案。 codis server:這是進(jìn)行了二次開發(fā)的 Redis...
Redis以高性能而被廣泛使用,所以我們必須重視可能會影響redis性能的阻塞點(diǎn)弧烤。 我們從redis交互的對象的角度出發(fā)忱屑,思考哪些對象的哪些操作將會給redis性能帶來風(fēng)險。...