Описание проекта
Конкретно нам нужен API-шлюз или middleware, который аутентифицирует каждый запрос по ключу, применяет лимиты и квоты по тарифу и фиксирует каждый вызов для биллинга. Учёт должен быть точным и идемпотентным, потому что клиенты будут оспаривать счета, если счётчики поплывут. Биллинг — по потреблению, с тарифной сеткой (бесплатный пробный тариф, пара платных и корпоративный с индивидуальными лимитами), с обработкой превышений и ежемесячным выставлением счетов через нашего платёжного провайдера. Поверх этого нужен портал разработчика, где пользователи управляют ключами, видят своё потребление в реальном времени, читают документацию и меняют тариф без обращения к нам. Наконец, нужна внутренняя аналитика: топ эндпоинтов, выручка по клиентам, паттерны злоупотреблений.
Прежде чем писать код, предложите архитектуру и явно опишите, как вы обеспечите согласованность учёта под нагрузкой и как ключи хранятся и безопасно ротируются. Для нас важны чёткие границы между шлюзом, биллинговым движком и порталом, чтобы каждый компонент развивался независимо.
— Выпуск API-ключей, области действия и безопасная ротация
— Учёт потребления: точный, идемпотентный, поддающийся аудиту
— Лимиты запросов и квоты по каждому тарифу
— Тарифный биллинг по потреблению с превышениями и счетами
— Self-service портал разработчика с живым видом потребления
— Внутренняя аналитика: топ эндпоинтов, выручка по клиентам, детект злоупотреблений