0

我从 AZURE eventthub 阅读了一些关于如何在 golang 中处理事件的文档,但这都是一一的,我在任何地方都找不到事件的批处理。这对于 ETL 操作似乎没什么用。有谁知道如何使用 golang 库批处理事件?

因为目前我查看了https://github.com/Azure/azure-event-hubs-go/blob/master/_examples/helloworld/consumer/main.go但处理程序是一个接受单个事件作为参数的函数. 如果有一些可以接受批量事件的处理程序会更有效。因为如果我想根据事件进行一些数据库事务,我将不得不为每个事件进行一个事务。我也不能只将它发送到其他 goroutine,因为如果我根据已处理的事件在数据库中进行事务,我必须确保在批处理之后设置检查点。就像在 AWS lambda 中使用 AWS kinesis 一样。

4

1 回答 1

0

我猜这个问题是无效的。因为我可以随时存储检查点(不仅在批处理之后,而且在处理多个批处理之后)。我可以自由地使用这个一对一的 api 并将事件转发到一些自定义批处理器。所有事件都包含一个偏移量,因此我可以随时在自定义批处理器中存储一个检查点。

PS:链接的azure示例提到批处理,但实际上是批量写入而不是批量读取。

于 2019-01-06T17:19:48.133 回答