首页 > 解决方案 > 缓冲通道可将数据累积到极限

问题描述

我的应用程序使用来自 Kinesis 的数据,对其进行处理并将其转发到另一个微服务。为了将请求数量减少到最后,我正在尝试实现一个对象队列,其策略是在达到定义的队列长度或达到超时后转发其项目(以避免长时间卡住项目时间)。

到目前为止,我在这里找到了一个很好的例子来实现超时,但我正在努力处理对象队列。我已经阅读了很多关于缓冲通道的内容,但是我不确定它们是否是要走的路。

根据此参考资料,缓冲通道可用于限制排队的工作量,防止您的服务落后和不堪重负。但是,似乎我需要的不是限制工作量,而是简单地累积工作(我的 Kinesis 流数据)以批量处理。

所以对于我的对象队列,一个切片和一个检查其长度的 goroutine 是否足够,所以一旦数据达到一定大小就会被转发?还是有充分的理由使用缓冲通道?

标签: gobufferchannel

解决方案


推荐阅读