Instalacja najnowszej wersji Redis na Debianie

Instalacja najnowszej wersji Redis na Debianie

redis-white

Jak szybko zainstalować najnowszą wersje serwera Redis na systemie Debian ?

Musimy pobrać źródło serwera, skompilować je oraz odpowiednio ustawić.

A to wszystko w 4 prostych krokach:

1. Aktualizacja pakietów i pobranie pakietu developerskiego:

apt-get update; apt-get install build-essential

2. Pobranie ostatniej stabilnej wersji serwera Redis:

wget http://download.redis.io/redis-stable.tar.gz

3. Rozpakowanie i kompilacja:

tar -zxf redis-stable.tar.gz; cd redis-stable;make;make install

4. Uruchomienie skryptu instalacyjnego ( dla standardowej instalacji wystarczy akceptować kolejne kroki enterem):

utils/install_server.sh

skrypt skonfiguruje i uruchomi serwer Redis z domyślnymi parametrami.

Domyślny port to: 6379 i plik konfiguracyjny: /etc/redis/6379.conf

W przypadku lokalnego wykorzystania, dla bezpieczeństwa warto od komentować w pliku konfiguracyjnym parametr:

bind 127.0.0.1

I przeładować serwer:

service redis_6379 restart

Działanie Redis możemy sprawdzić prosto z konsoli wykorzystując program redis-cli:

Połączenie:

redis-cli -h 127.0.0.1 -p 6379

Test:

127.0.0.1:6379> SET test redis-ok
OK
127.0.0.1:6379> GET test
"redis-ok"

Jeżeli w poleceniu GET zwróci wartość „redis-ok”, to działa poprawnie 🙂

Powyższy poradnik to tylko prosta instalacja Redis która może być wykorzystana do celów developerkich. Do zastosowań produkcyjnych poradnik powinien być rozbudowany o odpowiednie ustawienia na poziomie serwera Redis oraz systemu operacyjnego.

Load balancing MySQL – Haproxy

logo-medLoad balancing MySQL z wykorzystaniem Haproxy

Przy niektórych projektach potrzebujemy wyższej niezawodności baz danych lub też wyższej ich wydajności. Możemy tego dokonać instalując więcej niż jeden serwer MySQL i tworząc między nimi replikacje. Ale jak teraz prosto wykrywać usterki i  balansować ruchem pomiędzy kilkoma serwerami MySQL ?

Za pomocą Haproxy ! 🙂

Haproxy to bardzo wydajny loadbalancer który znany jest z wykorzystania dla serwerów WWW, jednak bardzo dobrze radzi sobie też np. z serwerami baz danych.

Poniżej przygotowana została podstawowa konfiguracje złożona z dwóch hostów MySQL: głównego oraz zapasowego i jednego Loadbalancera Haproxy w trybie failover.

IP hostów oraz role:

– 172.16.10.1 – Haproxy LoadBalancer,

– 172.16.10.2 – MySQL serwer główny ( Master ),

– 172.16.10.3 – MySQL serwer zapasowy ( Backup ).

Do sprawdzania żywotności MySQL musimy dodać użytkownika bez hasła z możliwością połączenia się do niego z hosta haproxy. Możemy to zrobić np. tak:

mysql -u root -p -e "INSERT INTO mysql.user (Host,User) values ('172.16.10.1','haproxy_check'); FLUSH PRIVILEGES;"

Przykładowa konfiguracja dla dwóch hostów z wykrywaniem awarii MySQL:

 global
 log /dev/log local0 notice
 log /dev/log local0 err
 daemon
 user haproxy
 group haproxy
 pidfile /var/run/haproxy.pid
 stats socket /var/run/haproxy.stat uid 108 gid 112 mode 600
 ulimit-n 1000000
 maxconn 409600

 defaults
 log global
 mode http
 option tcplog
 option dontlognull
 retries 3
 option redispatch
 maxconn 409600
 timeout client 300s
 timeout server 300s
 timeout connect 10s

 listen MySQL 172.16.10.1:3306
 mode tcp
 balance roundrobin
 option tcpka
 option mysql-check user haproxy-check post-41
 server MySQL-node1 172.16.10.2:3306 check
 server MySQL-node2 172.16.10.3:3306 check backup

Konfiguracje tą możemy dowolnie dostosować, tak by obsłużyła większą ilość hostów czy ustawić Loadbalancer w trybie HA ( High Availability ) niwelując SPOF ( Single Point of Failure ). Poniższe ustawienia mogą też działać bezpośrednio na serwerze z którego chcemy się podłączyć, wystarczy wtedy zmienić IP z 172.16.10.1 na 127.0.0.1 i aplikacja może pracować tak jak serwer bazodanowy MySQL byłby zainstalowany lokalnie.