Skip to content

Steeew47/Redis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

RedisTest Java & C++

  • W Redisie opóźnienia praktycznie nie występują (średnio 0,2ms)
  • Redis może działać w 4 trybach
    • Asynchronous
    • Synchronous
    • Reactive
    • Pub/Sub (z tego korzystamy, analogicznie jak w kafce)
  • Analogicznie jak w kafce tworzymy dwie instancje, jedna generuje wiadomości a druga je odczytuje(wystarczy zasubskrybować ten sam kanał)

Ustawienie klastra

Podczas testowania właściwości Redis skorzystaliśmy z dwóch różnych sposobów uruchomienia klastra:

  • Wykorzystując wcześniej przygotowany obraz docker'a z wbudowanym klastrem.
  • Wykorzystując oficjalny obraz Redis i samodzielną konfiguracje klastra.

Wykonując samodzielną konfigurację kontenerów posłużono się plikiem yml dla Docker-compose'a. Warto zaznaczyć, że dla każdego kontenera zkorzystano z osobnego pliku konfiguracyjnego.

Przykładowy plik konfiguracyjny redis.conf

port <port number>
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

gdzie port należy podać inny numer portu dla każdego kontenera.

Zgodnie z dokumentacją klastra, aby zepewnić działanie konterów należy podłączyć je do sieci w trybie host

In order to make Docker compatible with Redis Cluster you need to use the host networking mode of Docker.

Awaryjność

  • Aby w podstawowy sposób móc korzystać z bezawaryjności Redisa tworzymy clouster składający się z 6 nodów (3 mastery i 3 slave'y)
  • Jeśli wysyłamy dane na Mastera A to Master B i C też je otrzymują
  • Jeśli Master A nagle "zniknie" Master B i C autoryzują Slave'a przypisanego do Mastera A i ten Slave go zastępuje
  • Jeśli jakis Master nie ma Slave'a to Redis mu go przypisuje

Przydatne Linki

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published