которое ходлит в легаси монолит. Очередной заказчик просит реализовать Idempotency HTTP Header, как можно его сделать малой кровью?
Количество запросов модифицирующих данные до 10к в сутки.
https://tools.ietf.org/id/draft-idempotency-header-01.html — черновик спецификации
https://stripe.com/docs/api/idempotent_requests — пример на который ссылаются в качестве референса.
Я думаю сделать следующе: если прилетел запрос с Idempotency-Key: 6xIRbybZFUMAeEPL, то мы проверяем наличие такого запроса в кеше, если он есть, то отдали закешрованный ответ. Вот эту прослойку планирую добавить до вызова хендлеров в контроллере, т.к. имхо, это его зона ответственности.
Если нет, то перед отдачей клиенту положили в кеш.
Отдельным таском подчищаем кеш через N часов
Что есть малой кровью? Описанное решение рабочее
малой кровью - чувак, вот бандл, там уже сделали нужный велосипед
Не искал, но решал сам
видимо да, придётся
Обсуждают сегодня