Як архітектури без серверів управляють підключеннями до бази даних?


10

Головною перевагою архітектури без сервера є те, що таким програмам не потрібен виділений сервер для постійного запуску. Потім викликаються на запит і зупиняються при виході з функції.

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

Відповіді:


9

Оскільки додаток без сервера не підтримує стан між запусками, воно не може підтримувати пул підключення до бази даних. Програми без сервера дійсно стикаються з тими ж обмеженнями, що і сценарії CGI 90-х років. Загалом, постійний серверний процес зможе перевершити архітектуру "процес на запит" або "контейнер на запит", оскільки сервер робить ініціалізацію один раз, а не один раз за запитом.

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


Відмінні бали. Я б також припустив, що однією з головних переваг, яка призводить людей до безсерверного зв'язку, є вартість. Якщо ви платите за провайдера (наприклад, Amazon) лише на основі # запитів, і не платите за те, щоб сервер не працював, ви заощадите гроші, особливо під час фази запуску.
Пол

2
@Paul Основна перевага без серверів - зручність (PaaS проти IaaS). Безпечне адміністрування сервера - це набір навичок у більшості розробників (включаючи мене). Я впевнений, що є деякі сценарії, коли без сервера помітно дешевше. Але віртуальні приватні сервери починаються з 5 доларів на місяць, що є дуже конкурентоспроможним, якщо сказати легким. Особливо враховуючи, що VPS має набагато менші обмеження, що дозволяє запускати довільне програмне забезпечення та постійні сервіси. Це трохи порівняння яблука з апельсинами. В одній моделі ви платите за непрацюючий сервер, в іншій ви платите за повторний час запуску.
amon

4

Це залежить.

Вплив на це кулуарної реалізації лямбда-бігуна. Ми бачимо, що в AWS контейнер може бути повторно використаний.

http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html

Таким чином, ми могли бачити об'єднання / повторне використання з'єднань принаймні для деяких запитів. Також слід розглянути саму базу даних і як вона обробляє вхідні запити на з'єднання.

Цей тип запитання для мене підкреслює деякі проблеми з "безсерверним", як і раніше, дуже новими і незрілими, тому деталі не забиті.

Ми завжди повинні пам’ятати, що без серверів не означає відсутність серверів. Якщо швидкість, з якою ви називаєте лямбда, досить висока, можливо , у вас може працювати декілька серверів або "контейнерів".

На практиці час запуску та ресурси, такі як IP-адреси лямбда, можуть бути справжньою проблемою. Можливо, по мірі дозрівання консенсусу щодо їх запуску з’явиться і ці проблеми отримають ґрунтовні відповіді.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.