MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Migracja z Maxscale do Load Balancera ProxySQL

System równoważenia obciążenia bazy danych lub serwer proxy to usługa oprogramowania pośredniego między warstwą aplikacji a warstwą bazy danych. Aplikacja łączy się z serwerem proxy bazy danych, a proxy przekazuje połączenie do bazy danych. Korzystanie z serwera proxy bazy danych przynosi pewne korzyści, na przykład:dzielenie zapytań odczytu i zapisu, zapytania w pamięci podręcznej, dystrybucja zapytań na podstawie pewnego algorytmu routingu, przepisywanie zapytań i skalowanie obciążenia tylko do odczytu. Serwer proxy bazy danych abstrahuje również topologię bazy danych (i wszelkie zmiany) dla warstwy aplikacji, więc aplikacje muszą łączyć się tylko z jednym pojedynczym punktem końcowym.

Istnieją różne serwery proxy baz danych, od komercyjnych po opcje typu open source, np. HAProxy, Nginx, ProxySQL, Maxscale itp. W tym blogu omówimy sposób migracji serwerów proxy baz danych z Maxscale do ProxySQL za pomocą ClusterControl.

Obecna architektura z Maxscale

Rozważ architekturę bazy danych o wysokiej dostępności, która składa się z 3 węzłów w klastrze Galera, a ponadto 2 usług Maxscale i Keepalived dla wysokiej dostępności proxy bazy danych. Galera Cluster to „wirtualnie” synchroniczne replikacje, korzysta z certyfikacji opartej na replikacji, dzięki czemu Twoje dane będą dostępne na wszystkich węzłach. Aktualna architektura jest pokazana poniżej:

Maxscale to serwer proxy bazy danych firmy MariaDB Corporation, który działa jako oprogramowanie pośredniczące między aplikacjami i baz danych.

Oto architektura topologii dla systemów równoważenia obciążenia Galera Cluster i Maxscale w ClusterControl. Możesz wdrożyć to wszystko bezpośrednio z ClusterControl lub zaimportować istniejące bazy danych i węzły proxy do ClusterControl. Możesz zobaczyć swoją topologię bazy danych w zakładce Topologia.

Wdróż ProxySQL i Keepalived

ProxySQL to kolejny serwer proxy bazy danych firmy ProxySQL, który zapewnia pewne funkcje, takie jak buforowanie zapytań, przepisywanie zapytań, dzielenie zapytań do zapisu i odczytu na podstawie wzorca zapytań. Aby wdrożyć ProxySQL w ClusterControl, musisz przejść do Zarządzaj -> Load Balancers w swoim klastrze. ClusterControl obsługuje kilka różnych serwerów proxy baz danych; HAProxy, ProxySQL, MaxScale.

Wybierz ProxySQL, a wyświetli się poniższa strona:

Musimy wybrać adres serwera, na którym zostanie zainstalowany ProxySQL. Możemy zainstalować na istniejących węzłach lub jeśli chcesz mieć dedykowany węzeł dla ProxySQL, po prostu wpisz adres IP na liście. Wpisz hasło dla użytkowników Administracji i Monitorowania, Dodaj użytkownika aplikacji do ProxySQL lub możesz skonfigurować później. Włącz serwery baz danych, które mają zostać uwzględnione w zestawie równoważenia obciążenia w ProxySQL. Kliknij przycisk Wdróż ProxySQL. Aby zapewnić wysoką dostępność, musimy mieć co najmniej 2 serwery ProxySQL.

Jeśli zapomnimy dodać użytkownika bazy danych do ProxySQL podczas instalacji, możemy go skonfigurować w zakładce Użytkownik ProxySQL, jak pokazano poniżej:

ProxySQL wymaga również skonfigurowania użytkowników bazy danych w ProxySQL.

Po wdrożeniu ProxySQL kontynuujemy konfigurację Keepalived na każdym hoście ProxySQL. Usługi Keepalived będą działać jako role główne/zapasowe w instancjach ProxySQL. Usługa Keepalived korzysta z VIP (Virtual IP Address), więc aplikacja połączy się z wirtualnym adresem IP w roli mastera i przekaże połączenie do lokalnego ProxySQL. Jeśli usługi zawiodą, VIP zostanie automatycznie przeniesiony do innego węzła.

Wdrażanie keepalived w ClusterControl odbywa się na tej samej stronie, co proxy bazy danych, wystarczy wybrać zakładkę Keepalived. Wybierz typ równoważenia obciążenia, którym jest ProxySQL, a następnie dodaj aktualny ProxySQL dla Keepalived1 i Keepalived2. Wypełnij wirtualny adres IP i interfejs sieciowy. I na koniec kliknij przycisk Wdróż Keepalved.

Uruchomienie dwóch serwerów ProxySQL z usługami Keepalived daje nam warstwę proxy o wysokiej dostępności. W ClusterControl jest to pokazane w poniższym widoku topologii:

Przełącznik

Przełączanie ruchu jest naprawdę proste, wystarczy zmienić połączenie adresu IP w warstwie aplikacji, aby użyć wirtualnego adresu IP dla ProxySQL, a następnie monitorować ruch przez ProxySQL.

 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównanie rozwiązań przełączania awaryjnego DBaaS z ręcznymi konfiguracjami odzyskiwania

  2. Jak skonfigurować replikację MariaDB (Master-Slave) w CentOS/RHEL 7 i Debianie 8/9?

  3. Jak wdrożyć bazę danych Open edX MySQL w celu zapewnienia wysokiej dostępności

  4. Jak FROM_DAYS() działa w MariaDB?

  5. Konwertuj wyniki zapytania na listę rozdzielaną przecinkami w MariaDB