Skip to content

Архітектура ​

DNS ​

DNS або система доменних імен — це фундаментальна система, яка допомагає шукати доменне ім’я та IP-адресу, і таким чином певний сервер отримує запит, надісланий користувачем. Можна сказати, що DNS схожий на телефонну книгу, але для веб-сайтів в Інтернеті.

Балансувальник навантаження ​

Load Balancer в основному займається горизонтальним масштабуванням. Направляючи вхідні запити на один із кількох серверів, балансувальник навантаження надсилає відповідь користувачеві. Зазвичай сервери веб-додатків існують у формі кількох копій, які віддзеркалюють один одного. Таким чином, будь-який сервер обробляє запити однаково, а балансувальник навантаження розподіляє завдання між ними, щоб вони не переплачували.

Сервери веб-додатків ​

Цей компонент обробляє запит користувача та надсилає документи (JSON, XMK ​​тощо) назад у браузер. Для виконання цього завдання зазвичай звертаються до внутрішніх інфраструктур, таких як база даних, кеш-сервер, черга завдань тощо. Крім того, як мінімум два сервера, підключені до балансувальника навантаження, встигають обробляти запити користувача.

Бази даних ​

Назва цього компонента веб-додатку говорить сама за себе. База даних надає інструменти для організації, додавання, пошуку, оновлення, видалення та виконання обчислень. У більшості випадків сервери веб-додатків безпосередньо взаємодіють із серверами завдань.

Служба кешування ​

Служба кешування забезпечує зберігання даних, що дозволяє зберігати та шукати дані. Щоразу, коли користувач отримує якусь інформацію з сервера, результати цієї операції надходять у кеш. Таким чином, майбутні запити повертаються швидше. Одним словом, кешування дозволяє посилатися на попередній результат, щоб зробити обчислення набагато швидшим. Таким чином, кешування ефективне, коли:

  • обчислення повільне;
  • обчислення, ймовірно, відбуватиметься багато разів;
  • коли результати однакові для певного запиту.

Черга завдань (необов'язково) ​

Черга завдань (Job Queue) складається з двох компонентів: власне черги завдань і серверів. Ці сервери обробляють завдання в черзі. Трапляється, що більшість веб-серверів потребують виконання великої кількості завдань, які не є першочерговими. Тому, коли завдання потрібно виконати, воно надходить до черги завдань і виконується за розкладом.

Служба повнотекстового пошуку ​

Багато веб-додатків підтримують функцію пошуку за текстом або так званий запит, а потім додаток надсилає користувачеві найбільш релевантні результати. Ця технологія називається сервісом повнотекстового пошуку. За допомогою ключових слів він шукає потрібні дані серед величезної кількості документів.

Сервіси ​

Коли веб-додаток досягає певного рівня, сервіси створюються у вигляді окремих додатків. Вони не так помітні серед інших компонентів веб-програми, але веб-програма та інші служби взаємодіють з ними.

Інформаційне сховище ​

Практично кожен сучасний додаток має на увазі роботу з даними, таку як збір, зберігання та аналіз. Ці процеси вимагають трьох етапів:

  1. Дані надсилаються до «пожежного шланга», який забезпечує потоковий інтерфейс для поглинання та обробки даних.
  2. Необроблені, оброблені та додаткові дані надсилаються в хмарне сховище.
  3. Оброблені та додаткові дані також надходять до сховища даних.

Це певна модель онлайн-зберігання та обміну даними через Інтернет. Сховище даних можна використовувати для зберігання різноманітних файлів різних типів, таких як відео, фотографії тощо.

CDN ​

CDN або система доставки вмісту займається надсиланням файлів HTML, файлів CSS, файлів JavaScript і зображень. Він доставляє вміст кінцевого сервера по всьому світу, щоб люди могли завантажувати різні джерела.