go - 缓冲通道可将数据累积到极限
问题描述
我的应用程序使用来自 Kinesis 的数据,对其进行处理并将其转发到另一个微服务。为了将请求数量减少到最后,我正在尝试实现一个对象队列,其策略是在达到定义的队列长度或达到超时后转发其项目(以避免长时间卡住项目时间)。
到目前为止,我在这里找到了一个很好的例子来实现超时,但我正在努力处理对象队列。我已经阅读了很多关于缓冲通道的内容,但是我不确定它们是否是要走的路。
根据此参考资料,缓冲通道可用于限制排队的工作量,防止您的服务落后和不堪重负。但是,似乎我需要的不是限制工作量,而是简单地累积工作(我的 Kinesis 流数据)以批量处理。
所以对于我的对象队列,一个切片和一个检查其长度的 goroutine 是否足够,所以一旦数据达到一定大小就会被转发?还是有充分的理由使用缓冲通道?
解决方案
推荐阅读
- java - 传递参数个数和传递map,写方法哪个更好?
- java - 将数组中的字符串转换为标题大小写 - JAVA
- javascript - 如何生成要在我的 javascript 文件中使用的 Azure 表授权令牌
- wordpress - WordPress Gutenberg,以编程方式更新帖子内容
- ios - 为什么我没有在服务器中获取图像的所有字节?
- javascript - 等效的 MongoDB 语句?
- automated-tests - 基本身份验证不适用于 cypress 的本地测试
- javascript - 如何将 0200 、 0900 、 1600 时间转换为 AM 和 PM
- html - 尽管有crispEdges,SVG中的线条大小不一样
- angular - Typescript _co.Function 不是函数