尝试将 RDS 转换为 DMS 到 MSK / AWS【尝试使用CDC】
首先
大家好!我將文章標題仿效【歌ってみた】的YouTube風格進行了更改〜,聽說在SEO方面加上【】會有好處,似乎有聽說過又似乎沒有。
这次我们将讨论CDC(Change Data Capture)并通过AWS DMS(全托管服务)实现。我们将从CDC的定义开始,一直讲解到如何在管理控制台上操作。
CDC 是什么?

你为什么开心?
比如说,如果存在这样的需求:“虽然基础服务的数据库和新服务的数据库完全不同,但是希望进行数据同步”,可以满足这个要求。
在微服务中无法解决吗?
在您所说的那样,如果在服务单位中预先划分了端点,那么我认为不会出现这种需要同步的要求。
另外,如果数据库按域进行划分,追踪更改也将更容易。
然而,对于现有未分割的服务而言,由CDC进行分割在成本上更加低廉,因此我认为这是最佳的方法。
为了实施CDC,使用AWS DMS。
DMS是什么意思?
正式名称为“数据库迁移服务”,是用于数据迁移的服务。
以图表形式呈现如下:

当RDS进行更改时,通过源端点对复制的EC2实例进行数据整理,并通过目标端点将更改反映到MSK中。这一系列流程称为迁移任务。
MSK 是什么?
正式名称为“Managed Streaming for Apache Kafka”,简单来说就是完全托管的Apache Kafka。如果你不知道什么是Kafka,可以把它看作是一个厉害的消息队列。
如果你不知道什么是消息队列,就请你写一封信然后折成纸飞机,向旁边的人扔过去,那就是消息队列。
[实践] AWS 管理控制台操作指南
我已经轻松地解释了CDC、DMS和MSK,现在转到操作编辑。尽管我没有解释RDS,但它指的是DB(龙珠数据库)。
按照数据流的顺序,依次创建源端点 -> 复制实例 -> 目标端点 -> 迁移任务,并将它们连接起来。
创建源端点

按下「创建终点」按钮,会出现以下界面,请选中源终点并勾选。
如果使用RDS,请选择Aurora或者PostgreSQL作为源引擎。
请在RDS实例的选择项中选择要使用的RDS实例的名称。

创建复制实例

点击”创建复制实例”按钮后,会出现以下画面,只需进行适当的尺寸调整,即可完成工作。

创建目标终端点 chù

点击”创建终点”按钮后,将会出现以下画面,请在目标终点处打上勾。
如果使用Kafka,请选择Kafka作为目标引擎,并输入Kafka代理信息和存在于Kafka中的主题名称。
※ 请注意,Kafka无法通过管理控制台创建主题!

创建数据库迁移任务

点击”创建任务”,系统会弹出以下画面,请选择之前创建的复制实例和终端点。
另外,如果作为CDC使用,请确保在迁移类型中选择复制变更。

选择后,我认为会出现以下表映射的画面。

数据库名称 … schema name
数据表名称 … table name
通过选择Schema和表,可以对特定的表进行筛选,一旦发生更改,便可以将数据发送到Kafka。
如果在每个设置都完成之后,在“迁移任务启动设置”中选择“在创建时自动执行”,则在创建任务的同时,CDC处理会开始运行,并且每当筛选的表发生更改时,数据将被发送到Kafka。
附言
起初,我对CDC的概念和DMS的管理控制系统一无所知,看到后完全懵逼( °o°),我觉得自己是个彻底的白痴。如果我能帮到像我一样迷茫的人就太好了(꒪ཀ꒪)。
(・ω・)你好!