我正在尝试使用kakfa来同步两个微服务A和B的数据。
A在数据库表中暂存公司中一组雇员的一些数据。然后,最终用户将触发从UI到A的后端服务的事件,在该事件中,它将kakfa消息发送到预订的主题[[B。
B
然后从消息或暂存表中获取数据,对其进行验证并保存到其自己的数据库表中。我有问题..B
BATCH_JOB
分割负载的好方法是什么?
简短的答案是使用具有大量分区的自定义分区方案。说100。
或者您可以为每个公司创建一个主题,这取决于您是否对每个主题使用不同的记录模式
我们从查询表中的数据中购买了很多东西吗?
好吧,您无法像查询表那样轻松地查询主题,所以这是有好处的。您还可以使用KTable和交互式查询
我们正在处理的数据是存储在数据库中的JSON
我假设您不只是将一个BLOB列放入数据库中(并且您还没有弄清正在使用哪个数据库)。
个人,我建议您使用Avro和Kafka Connect将主题存储到数据库中。这是在Kafka API中针对此类任务的推荐解决方案,而无需引入Spark等其他项目或编写您自己的数据库代码]
我们需要能够跟踪状态/错误,以便最终用户知道任何问题并采取纠正数据的措施
表可以工作,但是如果您可以将记录写到表中,还可以将事件写到另一个Kafka主题并从中获取“通知”