Appearance
Архітектура
DNS
DNS або система доменних імен — це фундаментальна система, яка допомагає шукати доменне ім’я та IP-адресу, і таким чином певний сервер отримує запит, надісланий користувачем. Можна сказати, що DNS схожий на телефонну книгу, але для веб-сайтів в Інтернеті.
Балансувальник навантаження
Load Balancer в основному займається горизонтальним масштабуванням. Направляючи вхідні запити на один із кількох серверів, балансувальник навантаження надсилає відповідь користувачеві. Зазвичай сервери веб-додатків існують у формі кількох копій, які віддзеркалюють один одного. Таким чином, будь-який сервер обробляє запити однаково, а балансувальник навантаження розподіляє завдання між ними, щоб вони не переплачували.
Сервери веб-додатків
Цей компонент обробляє запит користувача та надсилає документи (JSON, XMK тощо) назад у браузер. Для виконання цього завдання зазвичай звертаються до внутрішніх інфраструктур, таких як база даних, кеш-сервер, черга завдань тощо. Крім того, як мінімум два сервера, підключені до балансувальника навантаження, встигають обробляти запити користувача.
Бази даних
Назва цього компонента веб-додатку говорить сама за себе. База даних надає інструменти для організації, додавання, пошуку, оновлення, видалення та виконання обчислень. У більшості випадків сервери веб-додатків безпосередньо взаємодіють із серверами завдань.
Служба кешування
Служба кешування забезпечує зберігання даних, що дозволяє зберігати та шукати дані. Щоразу, коли користувач отримує якусь інформацію з сервера, результати цієї операції надходять у кеш. Таким чином, майбутні запити повертаються швидше. Одним словом, кешування дозволяє посилатися на попередній результат, щоб зробити обчислення набагато швидшим. Таким чином, кешування ефективне, коли:
- обчислення повільне;
- обчислення, ймовірно, відбуватиметься багато разів;
- коли результати однакові для певного запиту.
Черга завдань (необов'язково)
Черга завдань (Job Queue) складається з двох компонентів: власне черги завдань і серверів. Ці сервери обробляють завдання в черзі. Трапляється, що більшість веб-серверів потребують виконання великої кількості завдань, які не є першочерговими. Тому, коли завдання потрібно виконати, воно надходить до черги завдань і виконується за розкладом.
Служба повнотекстового пошуку
Багато веб-додатків підтримують функцію пошуку за текстом або так званий запит, а потім додаток надсилає користувачеві найбільш релевантні результати. Ця технологія називається сервісом повнотекстового пошуку. За допомогою ключових слів він шукає потрібні дані серед величезної кількості документів.
Сервіси
Коли веб-додаток досягає певного рівня, сервіси створюються у вигляді окремих додатків. Вони не так помітні серед інших компонентів веб-програми, але веб-програма та інші служби взаємодіють з ними.
Інформаційне сховище
Практично кожен сучасний додаток має на увазі роботу з даними, таку як збір, зберігання та аналіз. Ці процеси вимагають трьох етапів:
- Дані надсилаються до «пожежного шланга», який забезпечує потоковий інтерфейс для поглинання та обробки даних.
- Необроблені, оброблені та додаткові дані надсилаються в хмарне сховище.
- Оброблені та додаткові дані також надходять до сховища даних.
Це певна модель онлайн-зберігання та обміну даними через Інтернет. Сховище даних можна використовувати для зберігання різноманітних файлів різних типів, таких як відео, фотографії тощо.
CDN
CDN або система доставки вмісту займається надсиланням файлів HTML, файлів CSS, файлів JavaScript і зображень. Він доставляє вміст кінцевого сервера по всьому світу, щоб люди могли завантажувати різні джерела.