Погані новини: Основна база даних Wordpress з відкритим кодом робить досить багато припущень щодо запуску на одному сервері (wp-контент, завантаження користувача та медіатека, щоб назвати декілька)
Хороша новина: Досить багато всіх постачальників хмарних ситуацій (включаючи Azure) мають абстракції, які дозволяють обійти ці обмеження дизайну.
По суті, ви вирішите такі проблеми:
- Завантажте балансуючий трафік між двома (або більше) веб-серверами / веб-додатками Wordpress. Не надто складно, оскільки Wordpress НАЙБІЛЬШЕ без громадянства, якщо ви не дозволяєте користувачам входити на сайти. Це робиться за допомогою комбінації DNS і балансирів навантаження. Вам знадобиться підтримка 2 IP-адрес для ваших серверів додатків - 1 набір підключиться до підмережі, яка може бути маршрутизована через Інтернет (хоча, сподіваємось, захищена брандмауером, не зазначена внизу), а інші два будуть знаходитись у РІЗНОМУ підмережі, виділеній від інша мережа і містить екземпляри сервера баз даних, але базовий контур такий:
/ - (10.0.0.1 - eth0) wp1.domain.com (10.0.1.1 - eth2)
(Загальнодоступний IP) wp.domain.com
\ - (10.0.0.2 - eth1) wp2.domain.com (10.0.1.2 - eth3)
Керуючи сесіями, якщо ви дозволяєте користувачам входити на сайти. Якщо це так, вам потрібно буде переконатися, коли вони ввійдуть на сервер 1, чи будь-який їх майбутній запит буде переадресований на цей сервер (липкі сесії), або що не має значення, до якого сервера вони мають доступ, оскільки сесіями керується через якийсь інший механізм (наприклад, через кластеризацію сеансу Zend Server , наприклад).
Керування входами адміністратора Якщо ви дозволяєте деяким користувачам увійти до бек-енду для керування вмістом (подібним до вище).
Вибір системи БД, яка ТАКОЖ доступна. Немає сенсу мати два сервери на передньому кінці, якщо ваш збій БД збиває всю систему. Вам потрібно використовувати реплікацію MySQL Master / Slave через ClearDB або модифікувати WordPress через плагін, щоб використовувати SQL Server, щоб ви могли використовувати його рідні системи кластеризації . Це означатиме, що вам потрібно щонайменше 4 ВМ, якщо ви хочете самостійно керувати рівнем БД (2 x додаток та 2 х БД). Ось як це може виглядати:
/ - wp1.domain.com (10.0.1.1) \ --- / (10.0.1.3) db1.domain.com (10.0.2.3) \
wp.domain.com X |
\ - wp2.domain.com (10.0.1.2) / --- \ (10.0.1.4) db2.domain.com (10.0.2.3) /
ПРИМІТКА - для забезпечення надійного відмови та захисту безпеки системи, підмережа ТРЕТИХ мереж зазвичай використовується для з'єднання двох вузлів бази даних один з одним приватним каналом, який відокремлений від інших мереж зв'язку, з якими сервери додатків використовують для спілкування база даних та сервери додатків використовують для спілкування із зовнішнім світом.
Увімкнення об'єднання підключення для досягнення максимальної продуктивності та надійності підключень до бази даних вашого сервера додатків.
Використовуючи плагін кешування, як кеш-пам'ять W3 Total або Super Cache, щоб мінімізувати навантаження на сервери на передній частині.
У наступних посібниках викладено конкретні відомості про те, як можна вирішити кожну з вищезазначених проблем. У Azure існує декілька способів впоратися з кожним, тому вирішувати, як ви хочете атакувати кожен виклик, то вирішувати обмеження, які кожен із цих варіантів накладає, коли ви працюєте вгору та вниз по стеку.