加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

千亿级eBay平台的Kafka深度实践

发布时间:2021-01-13 21:25:00 所属栏目:安全 来源:网络整理
导读:《千亿级eBay平台的Kafka深度实践》要点: 本文介绍了千亿级eBay平台的Kafka深度实践,希望对您有用。如果有疑问,可以联系我们。 作者简介: 方伟 eBay中国研发中心 资深软件工程师 2010年加入eBay,一直在系统平台部负责设计和开发工作.最初负责整个eBay的

发生问题的时候,不仅 consumer 管理员要知道,它的用户也要知道,所以报警系统也是通知到用户.另外我们有些应用是有端到端要求的,我们必须知道数据从应用发出来,到进到 Kafka,到底有多长时间.

3.3 故障节点监测与处理

那么在 Kafka 里面,在运维过程我们发现有一个很重要的课题,对于慢节点怎么处理,什么叫慢节点?

其实 Kafka 能够很好的处理节点坏掉的情况,因为宕掉一两个节点对于它来说不要紧,它可以很快把坏的节点拿掉,它可以从别的节点上迅速选过来.

但是这种慢节点并没有死掉,只是比较慢的工作,比如正常情况下,它的吞吐率只有原来的1/10,那 Kafka 就不能把它拿掉,我们发现大部分系统都是存在这种问题.

为什么说一个节点出现性能问题,会影响整个 Kafka 集群呢?我们只有 Kafka 是做数据集群的.一旦这个节点性能出现问题,你到所有其他节点网络连接的数据都会有问题.

相当于它会拖累很多其他节点,出去 Kafka 集群在这个时候把这个节点干掉了,如果没有干掉,这个拖累会一直存在.

所以这就是我们为什么要在慢节点检测,慢节点比死掉的节点处理更麻烦,因为这种也点还在.比如我们可以看你的 CPU 在多长时间达到多少以上,我们要建立一些规则.

同时我们也要对磁盘进行监控,IO 的性能是不是出现了大的问题.同时要对系统日志异常进行分析,最后还有一个更为直接的方式,我们创建一些 footprint topic,我定期对 topic 进行测试,首先看看通不通,再看看速率有没有问题,这样我就可以知道节点有没有问题.

如果我检测出来慢节点之后怎么处理?

最简单的处理方式,就是把它停掉,其实把它停掉还是安全的,如果你觉得停掉对系统吞吐率造成影响的话,我们可以采取重启的方式,但是对于很多慢节点来说,你把它重启了它还是会慢.

如果一个节点,一个盘占用需非常高,这就说明资源分配很不均匀,这个我们引入 partition ?reassignrnert 来处理就不太好做,还是需要人工去处理.

3.4 Offset索引和自动背援

刚才我们说了我们的 Kafka 集群是在每个数据中心有独立拷贝的,比如北京数据中心整个 Kafka 宕掉了,那我能不能切到上海数据中心继续 consumer,那怎么做到这一点,不用人为干预情况下,会自动的切过去?

这就需要用到 Kafka 的代理,如果代理知道数据中心出问题了,把 Kafka 返回的信息发回到另一个数据中心,这时候就可以进行很好的处理.

对于 consumer 需要做另外一个事情,因为对于同一个信息在不同数据中心是不一样的.

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读