Аннулирование кэша на разных серверах
У меня есть 6 веб-серверов, которые вызывают проблемы из-за несогласованности кэша. Я имею в виду создание службы аннулирования кэша, так что есть тема, по которой все серверы могут публиковать сообщения, чтобы сделать объект недействительным. Я рассматриваю возможность использования Amazon SNS для создания темы.
Теперь, когда серверы получают сообщения о недействительности, я запутался в следующем:
- Должен ли я использовать очереди SQS для серверов для получения сообщений.
- Должен ли я использовать конечные точки HTTP, а затем построить API на этом маршруте, который делает кэш недействительным. Не могли бы вы выделить плюсы и минусы обоих этих подходов или любого другого подхода, который может принести мне пользу.
1 ответ
Для вашего случая использования конечные точки http - лучшее решение. Вы отправляете сообщение в SNS, и каждая из подписанных конечных точек будет вызываться в новой конечной точке API, которую вы размещаете, которая очищает кэш.
SQS не был бы лучшим вариантом использования здесь - чтобы использовать его, вам нужно иметь 6 отдельных очередей (или по одной на сервер), и вам нужно иметь приложение для каждой, которая всегда работает в фоновом режиме. проверять наличие новых сообщений и "тянуть" сообщение - конечная точка http - это операция "push", и это именно то, что вам нужно.