TGViewer
Мамкін Архітектор Мамкін Архітектор @mamkin_architect · 3.24K subscribers
Post #654 2.71K
Хто купував квитки на поїзд, той в цирку не сміється. Ви мабуть знаєте цей ритуал. Продаж відкривається за N днів до відправлення, о восьмій ранку, ти оновлюєш застосунок, і він закономірно підвисає, бо в цю саму секунду те саме роблять ще тисячі людей. Далі обираєш поїзд, бачиш список вагонів і вільних місць, тицяєш потрібні, і десь тут може вискочити "місце вже викупили". Якщо пощастило і не вискочило, вводиш пасажирів на кожне місце, добре хоч дані запамʼятовуються. А потім зʼявляється банер про бронювання (пікрілейтед в коментах), і ти чекаєш. Мінімум пʼять хвилин.

Наприкінці цих пʼяти хвилин буде або успіх і оплата, або сухе "квитки викупили", і все починається спочатку: знову поїзд, знову місця, знову пасажири, звісно, з ризиком ресету прогресу на початок квеста. Трохи підкумарює.

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

Швидше за все попереду стоїть якийсь фасад, такий собі кеш наявності, який оновлюється не миттєво, а за розкладом. Уся движуха до банера про бронювання крутиться на ньому, тому вибір місць швидкий і дешевий. А коли ти підтверджуєш, твій запит лягає повідомленням у чергу, яка опрацьовується... по черзі. Поки до тебе дійде, місце могли зайняти везунчики, чиє повідомлення було попереду, і тоді "всьо фігня Міша, давай по новой". Або фасад просто не встиг оновитись, ти бронював давно продане, і дізнаєшся про це аж за пʼять хвилин, за які розберуть і решту.

Є в мене підозра, що це довге очікування зробили навмисне (може взагалі додали штучний таймер), та й весь цей незручний UX з купою повторюваних дій тут не випадково. Поки людина шукає кнопки і друкує паспортні дані, вона не довбить бекенд запитами, тобто повільний UX працює як природний тротлінг. Звучить розумно, але не сходиться: уся ця метушня все одно генерує запити, і замість умовних пʼяти на одне замовлення виходить пʼятдесят, більшість з яких ще й тягне неактуальні дані з фасаду. Виходить lose-lose, де і користувачі бісяться, і бекенд стогне.

Проблеми зрозумілі, але шо з ними робити? Чи можна спроектувати зручніше та ефективніше рішення? Думаю, варіанти можна буде почитати в коментах, а згодом я напишу свою версію.
  • 🔥 30
  • 👍 10
  • ❤ 4
More from @mamkin_architect
  1. Oct 7, 2026Хтось не деплоїть по пʼятницях. Ми не деплоїмо, поки триває тривога. Ми різні
  2. Oct 6, 2026Оновив Portainer однією кнопкою Я вже не раз розповідав, як влаштований мій homelab: є сер…
  3. Oct 1, 2026Обіцяв технічні подробиці по Дронам на районі, тому ось вони. Стек частково вже називав: P…
  4. Sep 30, 2026‼️ увага ‼️ Я провтикав і випадково закрив коменти деяким підписникам пару днів назад. Зар…
  5. Sep 30, 2026В Києві останнім часом тривога триває постійно, з дуже короткими перервами. Раніше треба б…
  6. Sep 21, 2026Від умовного Скайнету чи Матриці нас рятувало те, що LLM-ки доволі повільні: довго відпові…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →