Python мануфактураJavaDesign Patterns для автоматизаторів

Java Light · 6:10–8:55

Gateway і вкладена архітектура

Gateway може бути зовнішньою обгорткою над одним або кількома services. Тому один квадрат на high-level diagram може приховувати власну базу, декілька внутрішніх services і нові integrations. Кожен із цих components можна «наблизити» і знову побачити нову архітектуру. На новому проєкті варто попросити lead або developer намалювати таку service map, а потім уточнювати data stores і взаємодії. Це безпосередньо впливає на test design: де готувати state, які контракти перевіряти і де локалізувати падіння.

Вступ до API-автоматизації →

Python мануфактура · Сесії: AMA та PMP · 6:10–11:05

Ланцюг gateway, сервісів і invite token

[Дивитися з 06:10](https://www.youtube.com/watch?v=GwmAB4IvQUk&t=370s). У реальній архітектурі browser звертається до API gateway, той перевіряє authentication та authorization, передає запит backend-сервісу, а backend отримує шаблон або ініціює відправлення через інший сервіс. Invite token має бути згенерований правильним компонентом, переданий без зміни й мати визначений TTL. Якщо контракт нечіткий, один сервіс може додати зайвий або захардкоджений token, після чого формально валідний request завершується невалідним invite. Перевірка лише зовнішньої специфікації endpoint не знаходить помилку в розподілі відповідальності між сервісами.

Прихована складність бекенд-тестування →

Python мануфактура · Сесії: AMA та PMP · 25:34–30:48

API gateway і внутрішні services

Клієнт звертається до одного зовнішнього API gateway, хоча за ним працюють окремі user/account та appointment services. Gateway перетворює зовнішній route і проксіює request у внутрішню мережу до відповідного service; зовнішнє й внутрішнє найменування ресурсу може відрізнятися. Service, у свою чергу, може читати кілька tables, звертатися до інших services, виконувати filters і mappings, а controller повертає сформовану DTO. Тому response одного endpoint залежить не від одного методу, а від усього ланцюжка.

Міграція бази даних і тестування даних →
Запитати в чаті про «api-gateway» →