《美团:2022年美团技术年货——数据、安全、运维系列(160页).pdf》由会员分享,可在线阅读,更多相关《美团:2022年美团技术年货——数据、安全、运维系列(160页).pdf(160页珍藏版)》请在三个皮匠报告上搜索。
1、数据1Kafka 在美团数据平台的实践1美团综合业务推荐系统的质量模型及实践26业务数据治理体系化思考与实践41数据治理一体化实践之体系化建模71运维/安全85数字化新业态下数据安全创新Token 化85Linux 中基于 eBPF 的恶意利用与检测机制101如何应对开源组件风险?软件成分安全分析(SCA)能力的建设与演进136目录Kafka 在美团数据平台的实践作者:海源仕禄肖恩鸿洛启帆胡荣李杰1.现状和挑战1.1现状Kafka 是一个开源的流处理平台,业界有很多互联网企业也都在使用这款产品。我们首先了解一下 Kafka 在美团数据平台的现状。图 1-1Kafka 在美团数据平台的现状数据2
2、2022年美团技术年货如图 1-1 所示,蓝色部分描述了 Kafka 在数据平台定位为流存储层。主要的职责是做数据的缓存和分发,它会将收集到的日志分发到不同的数据系统里,这些日志来源于系统日志、客户端日志以及业务数据库。下游的数据消费系统包括通过 ODS 入仓提供离线计算使用、直接供实时计算使用、通过 DataLink 同步到日志中心,以及做OLAP 分析使用。Kafka 在美团的集群规模总体机器数已经超过了 15000+台,单集群的最大机器数也已经到了 2000+台。在数据规模上,天级消息量已经超过了 30+P,天级消息量峰值也达到了 4+亿/秒。不过随着集群规模的增大,数据量的增长,Kaf
3、ka 面临的挑战也愈发严峻,下面讲一下具体的挑战都有哪些。1.2挑战图 1-2Kafka 在美团数据平台面临的挑战如图 1-2 所示,具体的挑战可以概括为两部分:第一部分是慢节点影响读写,这里慢节点参考了 HDFS 的一个概念,具体定义指的是读写延迟 TP99 大于 300ms 的 Broker。造成慢节点的原因有三个:1.集群负载不均衡会导致局部热点,就是整个集群的磁盘空间很充裕或者 ioutil很低,但部分磁盘即将写满或者 ioutil 打满。2.PageCache 容量,比如说,80GB 的 PageCache 在 170MB/s 的写入量下仅能缓存 8 分钟的数据量。那么如果消费的数据
4、是 8 分钟前的数据,就有可能触发慢速的磁盘访问。数据2022年美团技术年货图 2-1 是针对读写延迟碰到的问题以及对应优化方案的概览图。我们把受影响的因素分为应用层和系统层。应用层主要包括 3 类问题:1)Broker 端负载不均衡,例如磁盘使用率不均衡、ioutil 不均衡等问题。个别磁盘负载升高影响整个 Broker 的请求受到影响。2)Broker 的数据迁移存在效率问题和资源竞争问题。具体来讲,包括以下 3 个层面:迁移只能按批次串行提交,每个批次可能存在少量分区迁移缓慢,无法提交下个批次,导致迁移效率受影响。迁移一般在夜间执行,如果迁移拖到了午高峰还未完成,可能会显著影响读写请求。
5、迁移请求和实时拉取存在共用 Fetcher 线程的问题导致分区迁移请求可能会影响实时消费请求。3)Consumer 端单线程模型存在缺陷导致运维指标失真,并且单 Consumer 消费的分区数不受限制,消费能力不足就无法跟上实时最新的数据,当消费的分区数增多时可能会引起回溯读。系统层也主要包括 3 类问题:1)PageCache 污染。Kafka 利用内核层提供的 ZeroCopy 技术提升性能,但是内核层无法区分实时读写请求和回溯读请求,导致磁盘读可能污染 PageCache,影响实时读写。2)HDD 在随机读写负载下性能差。HDD 对于顺序读写友好,但是面对混合负载场景下的随机读写,性能显
6、著下降。3)CPU 和内存等系统资源在混部场景下的资源竞争问题。在美团大数据平台,为了提高资源的利用率,IO 密集型的服务(比如 Kafka)会和 CPU 密集型的服务(比如数据2022年美团技术年货实时读写延迟变高,比如说 TP99 请求处理时间超过 300ms 可能会导致实时作业发生消费延迟问题,数据收集拥堵问题等。集群整体利用率不足,虽然集群容量非常充裕,但是部分磁盘已经写满,这个时候甚至会导致某些分区停止服务。针对这两个问题,我们采用了基于空闲磁盘优先的分区迁移计划,整个计划分为 3步,由组件 Rebalancer 统筹管理:1.生成迁移计划。Rebalancer 通过目标磁盘使用率和