Горизонтальне масштабування
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
Реалізована горизонтально масштабована архітектура для бази даних PostgreSQL, призначена для динамічного додавання та видалення вузлів та дозволяє збільшувати продуктивність системи за потребою та економити ресурси, коли навантаження зменшується.
У цій архітектурі використовується Crunchy PGO для управління PostgreSQL та керування репліками "лише для читання", додаючи або видаляючи їх згідно з налаштуваннями.
Додатково використовується PgPool-II для маршрутизації всіх запитів до бази даних на відповідні вузли. PgPool-II є потужним проміжним програмним забезпеченням, яке діє як проксі між клієнтами та вузлами бази даних PostgreSQL.
Всі запити на запис PgPool-II відправляє до primary вузла, який відповідає за управління головною копією бази даних. У режимі синхронної реплікації всі репліки отримують запити та реплікують дані з первинного вузла. Це забезпечує, те що всі вузли мають однакові дані, і будь-які зміни, внесені в первинний вузол, з’являються на репліках в режимі реального часу.
Для запитів, які не передбачають запис, PgPool-II балансує навантаження між всіма вузлами. Це допомагає розподілити роботу між усіма вузлами та покращити загальну продуктивність та час відгуку системи.