Исходя из предложенной вами архитектуры, которая выглядит следующим образом, я не думаю, что пошаговые функции необходимы.
Я бы использовал SNS для раздачи обновлений в несколько очередей SQS:
- Очередь # 1 запускает лямбда-функцию, которая обновляет ваши данные в Redis
- Очередь # 2 используется для клиентских обновлений (что бы это ни значило в вашем случае)
Я не вижу причины использовать здесь пошаговые функции, поскольку SQS гарантирует, что каждое сообщение обрабатывается как минимум один раз.
+----------+
+---->Primary DB|
| +----------+ +----------------+ +------------+ +-----+
+ | | | | | |
Change +-----> SQS-Queue #1 +------> Lambda +---->Redis|
+ | | | | | | |
| | +----------------+ +------------+ +-----+
| +-----------+
| | |
+----> SNS |
| |
+-----------+
| +----------------+
| | |
+-----> SQS-Queue #2 | <------ Clients
| |
+----------------+
Я думаю, что SNS может быть более подходящим и для обновления ваших клиентов, так как SQS основан на запросах.