【发布时间】:2021-06-03 09:47:27
【问题描述】:
我有一个在 AWS 的多个区域运行的应用程序,该应用程序从全局 DynamoDb 表中读取。更新通过另一个进程在后台发生,我希望能够监控这些更新,以便应用程序可以使其缓存无效(我没有使用 DAX)。
不过,我想我可以为此使用 DynamoDb 流;在使用 Spring Kinesis Streams Binder 经历了许多障碍之后(例如,它需要创建 2 个表 [SpringIntegrationMetadataStore 和 SpringIntegrationLockRegistry]),我的公司不允许动态创建表格(所以这很有趣,因为我在文档中找不到任何提及 - ????♀️也许我错过了)。现在我想我发现只有1 application can listen to a Kinesis stream at a time?
这是真的吗?
有没有办法
有没有办法让仅从 DynamoDb 读取的多个应用程序在发生更新时获得通知?我在想我可以使用 DynamoDb Streams,这样每个应用程序都会监视流的更新并能够使它们的缓存无效。如果上述情况属实,那么我需要做一些更复杂或更复杂的事情(使用 SNS/SQS 进行更新、elasticache、Redis、Kafka),这对于这种情况来说似乎有点矫枉过正。
【问题讨论】:
标签: spring-cloud spring-cloud-stream amazon-kinesis amazon-dynamodb-streams