8 Şubat 2015 Pazar

Redis (AB15)

Redis, özellikle web uygulamalarında yaygın kullanılan, gelişmiş bir anahtar-değer veritabanıdır. Kullanan bazı tanınmış şirketler: Twitter, Github, Weibo, Pinterest, Snapchat, Craigslist, Digg, StackOverflow, Flickr..



Kurulum (Centos 6.6 minimal için)

Önce epel(Extra Packages for Enterprise Linux) ve remi  paket depolarını ekleyelim.

#rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

#yum repolist (depoların eklendiğini bu komutla görebiliriz.)

#yum install redis -y

#redis -version

Yapılandırma

vim /etc/redis.conf

(slaveof <master-ip> <master-port>)
slaveof 192.168.56.103 6379 (diğer makina(lar)ın ip'si portu)

#service redis start

redis loglarını görmek için:
#tail -f /var/log/redis/redis.log
 
# redis-cli
127.0.0.1:6379>info
127.0.0.1:6379>keys *
127.0.0.1:6379>monitor

Sentinel(koruyucu, muhafız) 
 
/etc/redis-sentinel.conf  
Master makinayı kapatınca slave makinalardan biri master olmaz. Sentinel'ler Redis yönetimi yapan dağıtık sistemdir. İzleme, uyarma, failover(yük devretme) özellikleri vardır. Master seçimi için önce kendi aralarında haberleşir, oy çokluğu ile yeni master makinayı seçerler. 

Yük dengeleme ve kesintisiz master erişimi için Haproxy ile kullanılıyor.
1 master ve 1 slave makinamız varsa, kesintisiz master erişimi için en az 3 sentinel ve 2 haproxy makinası ile sağlıklı bir sistem oluşturbiliriz.
 
Sentineller kendi aralarında ve Redis'lerle konuşur. Master'a karar verir ve onu izlerler. Bir yazma isteği gelirse, Virtual IP hangi Haproxy makinasında ise ona gider. Haproxy, Sentinel'lerden master makinayı öğrenir ve isteği master makinaya gönderir.

Hiç yorum yok:

Yorum Gönder