<div class =“post-text”itemprop =“text”> 将消息写入磁盘上的本地日志文件。编写一个小守护进程,它读取日志文件并将事件推送到主kafka守护进程。 要增加吞吐量并限制延迟的影响,您还可以每分钟旋转一次日志文件。然后使用cronjob将日志文件rsync到您的主要kafka区域。让导入守护进程在那里运行。
<div class =“post-text”itemprop =“text”> 据我所知,以下是您的选择: 在每个区域中设置本地Kafka群集并拥有边缘节点写入本地Kafka集群以进行低延迟写入。从在那里,您将设置一个镜像制造商,将数据从您当地的Kafka提取到您的远程Kafka进行聚合。 如果您担心使用高潜在阻塞请求中断应用程序请求路径,那么您可能希望将生产者配置为异步(非阻塞)写入远程Kafka群集。根据您的编程语言选择,这可能是简单或复杂的练习。 运行每个主机中继(或数据缓冲区)服务,该服务可以像推送到远程Kafka集群的日志文件和守护程序一样简单(如上所述)。或者,运行单个实例Kafka / Zookeeper容器(有两个捆绑在一起的docker镜像),缓冲数据以进行下游拉取。 </醇> 选项1.绝对是解决这个问题的最标准的解决方案,尽管有点重。我怀疑Confluent / Kafka将会有更多的工具来支持将来的选项3。