美文网首页
致歉声明,Kafka数据中转传输

致歉声明,Kafka数据中转传输

作者: 指尖数虫 | 来源:发表于2019-08-10 09:42 被阅读0次

致歉声明

本人CainGao,在这里深深的为之前的一篇文章<记一次海外数据进行中转传输到Kafka集群的过程>进行道歉。在之前那期的文章中,本人说实现producer节点的数据通过nginx节点发送到Kafka集群中是错误的。

image
需求起源

由于某些海外节点的数据发送到Kafka的上海集群会产生较高的延迟,因为公网访问的时候数据可能会进行多次中转,而导致网络延迟较高。所以增加了一个地区中转,该地区的网络情况到所有的节点的网络情况较好(厂商推荐)。

所以想把数据通过该地区做一次中转,再发送到上海。这样来看整体时延约120ms+。 所以在Kafka的producer直接把host配置为该中转节点。经过测试,发现数据能够到上海。所以,就有了刚才那篇文章<记一次海外数据进行中转传输到Kafka集群的过程>。 <ins style="box-sizing: border-box;">当初设想的数据流程</ins> image
出现异常,延迟依然很高
image

通过几天的观察,发现峰值时刻的异常依然很高,而当时地区节点之间的网络情况还不错。其他地区到中转地区节点的时延约90ms+,中转地区到上海节点的时延约30ms+。 修改了ping数据包的大小,数量。发现丢包率,时延等一切都很正常。Kafka数据依然延迟。

网络原因基本排除。那么就是其他的原因。

Kafka压力测试。

后来在某地区节点购买了一台服务器,使用 kafka-producer-perf-test进行压力测试,直接出现大量的timeout。网络情况非常不好。

image

但是ping的结果还好啊...

查看程序日志

查看进程发送的日志,从日志上发现一个问题。由于我使用了nginx进行转发,所以我数据发送到nginx的端口修改成了9000,也就是producer配置的是nginx的host:9000,但是我发现我日志上出现的依然是发送至kafka的端口:9092。
进程没有重启?应该所有人的第一反应就是这个,所以重启进行咯...
重启进程,盯日志...

发现请求发送到nginx的9000端口..这次应该是对了...

紧接着出来建立链接 kafka1:9092,kafka2:9092,kafka3:9092

image

一脸懵逼,重启依然是这样...盯了一下nginx服务器的网络,最近几天的带宽太低了...

查询问题

基于以上问题,基本可以判断。producer发送的数据绝对没有通过nginx。查询相关文档发现。

<mark style="box-sizing: border-box;">Kafka无法把数据通过nginx代理方式进行传输,而通过nginx的只有首次连接。producer节点通过nginx获取到kafka的metadata信息。然后通过metadata里面的IP进行访问...</mark>

image

也就是说实际通过nginx的方式是这样的,首次发送只是通过nginx获取到metadata的信息,metadata包含kafka的broker各ip地址。然后producer则会直接把数据发送到kafka集群。

开发者在遇到问题时希望得到很多的解答,解决方案。而开发者解决问题后分享出来能让更多的人获得答案是我的写作的初衷。我希望能够得到更多的答案,更多的解决方案。当我解决问题后通过写作记录的方式反馈给大家。这一次,我错了。没有彻底的解决问题或者说没有经过彻底的检验就输出内容。再次跟受到我前一篇影响的用户说一声对不起。 <mark style="box-sizing: border-box;">不能通过代理访问kafka实例</mark>

相关文章

  • 致歉声明,Kafka数据中转传输

    致歉声明 本人CainGao,在这里深深的为之前的一篇文章<记一次海外数据进行中转传输到Kafka集群的过程>进行...

  • Kafka--04Kafka connect

    Kafka Connect用于在Kafka与其他系统间数据传输的工具。Kafka connect可以获取整个数据库...

  • P8架构师参透Kafka:设计原理、消息存储、消息消费原理等等

    目录 Kafka的基本介绍 Kafka的设计原理分析 Kafka数据传输的事务特点 Kafka消息存储格式 副本(...

  • 项目技术选型

    数据采集传输 FLUME,DATAHUB,RDS FLUME,KAFKA,SQOOP,DATAX 数据存储 MAX...

  • 致歉声明

    2018-05-27 16:37 · 字数 164 · 阅读 46 · 我与读者的故事 关于昨天朋友圈和QQ空间分...

  • 致歉声明

    各位EAWorld的读者大家好,我是EAWorld公众号的负责人,孟庆余。 9月29日,我们刊发的一篇文章《最简单...

  • 致歉声明

    大家好,我是顾一宸。 在2017年12月12日,我在未获得原作者“飞象纪”的授权的情况下,在公众号"顾一宸"推送了...

  • 致歉声明

    致歉声明 大家好,我是树獭先生。 由于我12月15日在微信朋友圈对飞象纪主编小浪虾老师言语过激、用词不当,对对方造...

  • 致歉声明

    本人于2018年12月26日,在简书上传了一篇个人日记,文章名称为《稻草人不会旅行》。此文发布时,从百度图片上搜...

  • kafka-connect-ui安装部署

    kafka connect 是一个可扩展的、可靠的在kafka和其他系统之间流传输的数据工具。而kafka-con...

网友评论

      本文标题:致歉声明,Kafka数据中转传输

      本文链接:https://www.haomeiwen.com/subject/mjmljctx.html