Головна / Новини / Асоціація Самодостатності Українців Америки
Renee Wells
Product Designer, Quotient
Залежно від вхідних даних, це може призвести до використання великої кількості обчислювальної потужності та часу. Весь процес займе приблизно 5 секунд, щоб повернути результат клієнту. Майте на увазі, що ми говоримо про 1 елемент – контакт з контактної книги. Через деякий час з’явилася нова вимога. Рішення повинно підтримувати компанії, які керують своїми контактами, організованими у файлах. Ми домовилися розробити веб-додаток, який би підтримував завантаження файлів з наборами даних, наприклад, .csv. Новий веб-додаток повинен підтримувати інтеграцію зі сторонніми програмами. Деякі з них – це ESP/CRM-сервіси, такі як Mailchimp. Користувачеві не обов’язково бачити результат негайно. Система може повідомити користувача про результат пізніше, коли процес завершиться. Ця інформація є ключовим моментом, на який ми повинні спиратися при розробці нашого рішення. Ось як ми це зробили.
Наш початковий підхід був таким: Веб-додаток читав .csv-файл рядок за рядком і передавав масив записів на внутрішній REST API. Обробка відбувається в режимі реального часу, одразу після того, як користувач робить запит на запуск процесу, він очікує на результат. Інший підхід полягає в застосуванні вертикального масштабування до архітектури AWS. Це означає, що ми використовували більші, дорожчі екземпляри, які мають більше оперативної пам’яті та обчислювальної потужності. Ця система добре працювала для невеликих наборів даних, можливо, до 5 тис. записів, але для більших наборів даних виникали численні проблеми. Це рішення схильне до збоїв через тривалий час запиту. Також через деякі сторонні сервіси, які не оптимізовані для великих навантажень або не мають пакетних кінцевих точок. Сторонні сервіси також прагнуть захистити свою архітектуру, щоб не виставляти величезні рахунки. Весь процес відбувається в режимі реального часу. Запит може зайняти багато часу, поки бекенд виконає всю роботу і поверне результат клієнту. Запит був обмежений 300 секундами (на момент написання статті), перш ніж AWS скасує його… Також я повинен згадати, що користувач повинен почекати кілька хвилин, щоб побачити результати. Вони не можуть користуватися додатком під час цього процесу, що створює поганий користувацький досвід.
Ця система добре працювала для невеликих наборів даних, можливо, до 5 тис. записів, але для більших наборів даних виникали численні проблеми. Це рішення схильне до збоїв через тривалий час запиту. Також через деякі сторонні сервіси, які не оптимізовані для великих навантажень або не мають кінцевих точок для пакетної обробки.
Donate
98 Second Avenue
New York, NY 10003