并發(fā)編程中,多個線程共享一個資源時,我們得考慮維護這個資源的原子性,確保 一個線程在操作共享資源時,同時不會被另一個線程所操作 JDK1.6 版本之前,Synchronize...
并發(fā)編程中,多個線程共享一個資源時,我們得考慮維護這個資源的原子性,確保 一個線程在操作共享資源時,同時不會被另一個線程所操作 JDK1.6 版本之前,Synchronize...
kafka consumer 通過偏移量來記錄消息的消費進度,當(dāng)consumer poll一次消息時, consumer內(nèi)部維護了一個指針,能夠探測到下一條要消費的數(shù)據(jù),當(dāng)r...
水位是一個單調(diào)增加且表征最早未完成工作(oldest work not yet completed)的時間戳。 藍色部分代表已完成的工作,紅色部分代表正在進行的工作,分界線就...
首先我們先看一下kafka索引的類關(guān)系 可以看出索引主要分成三種,位移索引,時間戳索引和事務(wù)索引,都繼承于AbstractIndex 這個抽象類,我們看看AbstractIn...
kafka消息在分區(qū)中是按序一條一條存儲的,假如分區(qū)中有10條消息,位移就是0-9, consumer消費了5條消息,那么offset就是5,指向了下一條要消費的記錄,con...
redis cluster保存的數(shù)據(jù)量及吞吐量跟集群的規(guī)模相關(guān),Redis 官方給出了 Redis Cluster 的規(guī)模上限,是一個集群運行1000 個實例。為什么規(guī)定集群...
數(shù)據(jù)傾斜通常分為兩種情況,一是各實例上面的數(shù)據(jù)不均勻,個別實例數(shù)據(jù)量特別多; 二是某個實例上的熱點數(shù)據(jù)多,導(dǎo)致的訪問量傾斜。發(fā)生了數(shù)據(jù)傾斜,那么保存了大量 數(shù)據(jù)或者是保存了熱...
秒殺場景的特點是短時間、高并發(fā),業(yè)務(wù)系統(tǒng)要處理瞬時的大量高并發(fā)請求,而Redis 的高性能特性就經(jīng)常被用來支撐秒殺活動。 根據(jù)我們的購物體驗,我們可以把秒殺場景分為三個階段,...
關(guān)于redis,通常我們的認知是他很快,拋開io設(shè)計模式及線程架構(gòu),我們單從底層數(shù)據(jù)結(jié)構(gòu)了解一下redis的trade-off. 先了解一下redis的sds,sds的編碼有...
根據(jù)當(dāng)前計算機系統(tǒng)的三層儲存架構(gòu),cpu緩存,內(nèi)存,磁盤,我們?nèi)粘i_發(fā)通常會模仿這三層儲存架構(gòu)而在數(shù)據(jù)庫之上添加機器本地緩存及redis緩存,既然涉及到了多個儲存系統(tǒng),那么必...
緩存污染 緩存污染指的是緩存中的數(shù)據(jù)的訪問次數(shù)很少,當(dāng)有大量數(shù)據(jù)只是某些場景下被集體訪問了一次或少數(shù)幾次,或者只是某個時間 段內(nèi)被訪問,后續(xù)就無訪問,那么這些數(shù)據(jù)對于內(nèi)存而言...
從我們編寫的java文件到機器上跑起來的系統(tǒng),中間經(jīng)歷了什么呢? 首先java文件經(jīng)過類編譯成為.class文件,class文件經(jīng)過類加載加載到虛擬機中,在虛擬機中經(jīng)過鏈接、...
redis是內(nèi)存數(shù)據(jù)庫,所以發(fā)生宕機后,數(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)運而生。 哨兵是一個運行在特殊模式下的 Redis 進程,主要負責(zé)監(jiān)控、選主和通知 哨兵通信機制...
隨著業(yè)務(wù)的發(fā)展,redis單實例不夠存儲的時候,我們會考慮通過scale out橫向拓展 或者scale up縱向拓展,比如我們目前8G內(nèi)存100G硬盤的實例,我們可以縱向 ...
codis是在redis官方集群方案redis-cluster發(fā)布之前便已被業(yè)界廣泛使用的redis集群解決方案。 codis server:這是進行了二次開發(fā)的 Redis...
Redis以高性能而被廣泛使用,所以我們必須重視可能會影響redis性能的阻塞點。 我們從redis交互的對象的角度出發(fā),思考哪些對象的哪些操作將會給redis性能帶來風(fēng)險。...
用戶體驗一直都是互聯(lián)網(wǎng)產(chǎn)品的核心話題,不同的互聯(lián)網(wǎng)產(chǎn)品有不同的用戶體驗但是大家?guī)缀醵紦碛幸粋€共同的目標(biāo):以人為本做產(chǎn)品?!对O(shè)計師要懂心理學(xué)》這本書正是一本從10個方面100個...