CodisLabs / CodisLabs/codis

基于一致性哈希的缓存模式

Aperta
#811 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
todo
Lingua principale
Go
Stelle
13.2k
Fork
2.7k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

列个TODO,等有时间了搞一下。
Codis设计之初是把redis当初数据库考虑的,而非单纯的缓存,所以是CP的系统。但是很多redis场景还是把它当初缓存,容忍数据不一致但需要可用性,并且很多时候主从显得比较浪费。所以可以类似Cassandra,在slot级别做一致性哈希,每个key所对应的slot都落在一致性哈希的环上的1-N个节点(取决于配置了几备份)。在手动增减节点时可以先进行迁移操作,以保证命中率不降;再有节点突然挂掉的时候自动failover到下一个节点,以保证可用性不降、命中率只下降1/n(n为实例个数)。

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

L'issue non indica file, test o punti di ingresso; inizia individuando i percorsi di Codis per l'allocazione degli slot, la migrazione dei nodi e il failover. Chiarisci il numero configurabile di repliche e il comportamento in caso di errore descritto nella proposta, quindi definisci test mirati per la migrazione e il failover prima dell'implementazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
go, redis
Ambito
backend, distributed-systems
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.