原创 [譯文]The Go Memory Model

原文鏈接The Go Memory Model Introduction G 內存模型指定了一些條件,保證了在一個goroutine中如何讀取一個同時被其他goroutine寫入的變量 Advice 如果程序要修改一個被多個gorout

原创 The Go Memory Model(Go 內存模型)

原文鏈接The Go Memory Model Introduction G 內存模型指定了一些條件,保證了在一個goroutine中如何讀取一個同時被其他goroutine寫入的變量 Advice 如果程序要修改一個被多個gorout

原创 Kafka 生產者概述

生產者:往消息隊列裏推送消息的應用 發送消息的過程 Kafka 生產者發送消息的過程: Kafka 會將發送消息包裝爲 ProducerRecord 對象, ProducerRecord 對象包含了目標主題和要發送的內容,同時還可以指

原创 豬年學習計劃

豬年學習計劃 本計劃自2月12號當天起計算。或因工作、或因外包、或因貪玩,時間可能順延 Redis 週數 任務 產出 第一週 Redis 單線程模型 模型圖、源碼研究 第二週 Redis 網絡模型 模型圖、源碼研究

原创 java AQS框架

概述 AbstractQueuedSynchronizer,即隊列同步器。它是構建鎖或者其他同步組件的基礎框架(如ReentrantLock、ReentrantReadWriteLock、Semaphore等),JUC併發包的作者(Doug

原创 Spring Cloud Eureka

服務治理 服務治理是微服務架構中最爲核心和基礎的模塊,它主要用來實現各個微服務實例的自動化註冊和發現。 在微服務架構體系中,每個服務都是相對獨立的,包括其部署、擴展和升級,都不應和其他服務產生耦合。但是微服務之間是無法避免業務關係的,也就是

原创 Redis 持久化

Redis提供了兩種持久化方式: RDB (Redis DataBase) 在指定的時間間隔內生成數據集的時間點快照(point-in-time snapshot) AOP(Append Only File) 記錄服務器執行的所有寫操作命

原创 Redis Sentinel

Sentinel是一個管理多個Redis實例的工具,它可以實現對 Redis的監控、通知、自動故障轉移。 Sentinel 架構示意圖: 主從複製的問題 主從複製可以使得從節點作爲主節點的備份節點,隨時替代主節點進行服務。同時作爲主節點的

原创 Redis 主從複製

概述 主從複製,是指將一臺Redis服務器的數據,複製到其他的Redis服務器。前者稱爲主節點(master),後者稱爲從節點(slave);數據的複製是單向的,只能由主節點到從節點。默認情況下,每臺Redis服務器都是主節點;且一個主節點

原创 Redis 集羣

虛擬槽分區 redis集羣使用的是基於hash的一種分區算法,稱之爲虛擬槽分區。 虛擬槽算法巧妙地使用了哈希空間,使用分散度良好的哈希函數將數據映射到一個固定範圍內的整數集合,整數集合中的每個整數稱爲一個槽(slot) ,這個整數範圍遠遠大

原创 Redis 高可用概述

在 Web服務器中,高可用是指服務器可以正常訪問的時間,衡量的標準是在多長時間內可以提供正常服務(99.9%、99.99%、99.999%等等) 在 Redis 層面,高可用的含義要寬泛一些,除了保證提供正常服務(如主從分離、快速容災技

原创 RocketMQ 架構

RocketMQ Architecture 譯文 概述 Apache RocketMQ是一個低延時、高性能、可靠的分佈式消息流平臺,它具有兆級容量和靈活擴展性的特點。它包括四個部分:name servers, brokers, prod