2019-5-12的kafka&Flink沙龙收获

地址 360大厦A座
花了一下午时间,总要有所收获,本人正在负责公司小kafka集群,所以对kafka相关课题比较关心,也有收获,Flink还未入坑,这里并没有Flink相关的收获。

美团

  • 介绍了现状,Kafka集群在数据平台中的功能,通过介绍得知,其负责数据传输

    • 一类是日志数据,业务日志和用户行为,一类是DB数据,应该是二进制流。
    • 下游接入的是离线计算,实时计算,日志中心和OLAP。
    • 入流峰值,3千万/s
  • 然后介绍了高吞吐方面的优化

    • 二次开发:Disk层面的Rebalance,解决了以下痛点:

      • broker分配依据是Partition数,不够精细,会产生数倾斜。
      • 新加入节点不会Rebalance
    • Flink实时入仓,这个没懂。
    • 硬件选型:与计算密集型混部,充分利用磁盘资源;JBOD最大化利用率;引入大CacheRaid卡,进一步增加缓存。
    • 新缓存架构探索:FlashCache.
  • 最后介绍了超大集群:1000+broker,40kTopics

    • 由于controller的瓶颈问题,集群规模一般不超过200broker,比如京东。
    • 找到瓶颈,做了controller与broker分离,并集群化,提高其管理能力,解决大集群瓶颈问题。
    • 建立了region隔离机制。(看来大集群还是要分割)
    • 增加了SafeMode机制,中心节点不可用时集群仍能工作。
  • 总结,目前阶段对我直接有用的(1)硬件选型和规划(2)普通集群瓶颈在哪,避免过大。

京东

  • 现状:56个集群,broker1530,topic15699,分区460301
  • 产品化:

    • 跨机房灾备:mirror maker同步数据,就近消费,跨机房容灾靠dns切换域名。
    • 读写分离:分别建立生产者集群和消费者集群,来解决消费者横向扩展问题和生产消费干扰的问题。(这个方案很新颖,是否合理呢?)
    • 安全认证改进:去keytab,去jaas,Keberos认证,增加域名认证。
    • 周边功能完善:集群管理、运维管理、权限管理、用户认证;监控,挤压监控、实时大屏;SDK封装、消息查询工具、样本提取过滤工具、运营报表
  • 探索:

    • 性能测试,挖掘:crc32优化,服务端解压缩问题,v1和v2协议性能对比
    • 全链路域名化:对跨机房灾备,对用户访问透明有非常大的好处。
    • Kafka on K8S vs 与实时计算服务器混部
  • 总结:觉得京东还是做了些有意义的工作,没有过度定制kafka,尊重生态,改进生态。很多建议和经验放到小公司也可以得到借鉴。
上一篇:Promethus之AlertManager介绍


下一篇:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (三)