使用 AWS RDS 的事务发件箱模式

问题描述 投票:0回答:1

我正在使用 Java 和 Spring 构建事件驱动的微服务架构。我想实现事务发件箱模式并侦听 AWS RDS Postgres 表(CRUD 操作)上的更改并流式传输该日志,类似于 Debezium 和 Kafka,但在 AWS 世界中。使用原生 AWS 技术可以实现这一点吗?它是否具有成本效益?

amazon-web-services apache-kafka microservices amazon-rds event-driven
1个回答
0
投票

在 AWS 环境中实现事务发件箱模式确实可以使用本机 AWS 服务来完成,并且有多种方法可以使其具有成本效益。由于您正在考虑 Debezium 和 Kafka 的替代方案,因此您可能需要考虑 Wolverine,它是一个用于构建消息驱动应用程序的 .NET 库。 Wolverine 可以使用 PostgreSQL 进行消息存储,它可以作为您的发件箱。

Wolverine 与 PostgreSQL 提供了持久消息传递的机制,可以有效地推迟工作,这可能适合您实现事务发件箱模式的需求。通过使用 PostgreSQL,您可以利用其强大的事务支持功能及其 JSONB 数据类型来高效存储事件数据。

有关如何使用 Wolverine 实现这一点的更多详细信息,您可以参考他们关于 PostgreSQL 消息存储持久性的官方指南:Wolverine Guide on Durability with PostgreSQL

在 AWS 环境中,您可以利用 Amazon RDS for PostgreSQL 作为数据库,它提供托管 PostgreSQL 服务。此设置使您可以更多地关注应用程序逻辑,而不是管理数据库的操作负担。

以下是您可能遵循的一般步骤:

  1. 配置 Amazon RDS for PostgreSQL 以与您的微服务配合使用。
  2. 将 Wolverine 集成到您的 .NET 微服务中以处理发件箱模式。
  3. 使用 Wolverine 的 PostgreSQL 支持来存储和管理发件箱交易。

请务必考虑与 Amazon RDS 以及您可能需要使用的任何其他 AWS 服务相关的成本,以确保其不超出您的预算。 AWS 提供了一个定价计算器,可以帮助您估算成本:AWS 定价计算器

© www.soinside.com 2019 - 2024. All rights reserved.