apache-kafka - 在并行处理消息的同时处理 kafka 偏移
问题描述
我正在创建一个服务,该服务轮询来自 Kafka 主题的消息,并将轮询间隔期间收到的每条消息移交给线程池中的工作线程。工作线程通过与另一个服务对话来处理消息。
对于这种情况,我应该如何处理提交 Kafka 偏移量?如果我选择等待所有线程完成,则处理速度会降低。同样,一旦消息到达工作线程,如果消息处理过程中发生错误,则保证消息处理成功完成或将消息添加到死信主题以供稍后查看,前提是运行服务的主机不下去。因此,一旦我将消息提交到线程池,我可能会立即提交偏移量,但是我冒着因主机崩溃而丢失消息的风险。我应该如何防止在这里丢失消息,或者我应该使用其他策略来提交/维护偏移量。
解决方案
推荐阅读
- google-maps - 无法与嵌入式谷歌地图交互
- python - 当我尝试读取从 cx 和 cy 获得的中心的像素颜色时,它说 index out of pound
- xcode - 当我在表视图中配置它时,使用表视图 xib 常量空间正在离开
- html - 正则表达式从 html 输入字段中提取值
- amazon-web-services - Terraform - 具有编程访问权限的 AWS IAM 用户
- python - 以完全错误的顺序打印代码
- phoenix-framework - Elixir/Phoenix - Connect to external database
- android - 如何在android中对Bitmap进行单元测试
- python - 如何将 pandas 数据框转换为嵌套的 JSON 对象?
- sql-server - 将数据从 SQL Server 迁移到 SharePoint 之前要考虑的检查列表