导读
01 滴滴Logi-KafkaManager简介
02 为什么要开发滴滴Logi-KafkaManager
03 滴滴Logi-KafkaManager功能亮点
>产品化设计之关注点分离
-
Kafka用户:关注的是Topic相关的操作,Topic资源申请与扩容、Topic指标监控、Topic消费告警、Topic消息采样、Topic消费重置等。
-
Kafka运维:关注的是Kafka集群相关的操作,集群监控、集群安装、集群升级、集群Topic迁移、集群容量规划等。
>Kafka业务运行过程数据化
-
请求队列排队时间(RequestQueueTimeMs)
-
Broker本地处理时间(LocalTime)
-
请求等待远程完成时间(RemoteTimeMs)
-
请求限流时间(ThrottleTimeMs)
-
响应队列排队时间(ResponseQueueTimeMs)
-
响应返回客户端时间(ResponseSendTimeMs)
-
接收到请求到完成总时间(TotalTimeMs)
>Kafka服务保障强管控
-
拓展服务端能力,强感知客户端的链接地址,协议类型,方便后续引擎对用户行为的感知与强管控。
-
拓展实现Kafka服务端的安全认证能力,通过账号机制记录应用元信息,包括人员信息、业务信息、权限信息;通过Topic创建管控,记录压缩类型、Partiton、Quota等元信息,在服务端实现了对客户生产、消费能的强管控。
>最佳实践之专家服务沉淀
-
Topic集群分布不均迁移:不同broker上leader数目不均;同一个broker上不同磁盘leader分布不均;同一个topic在broker上不同磁盘分布不均。我们需要发现热点,给用户推荐迁移计划。
-
Partitont不足扩容提示:根据单Partition承载流量,按照业务场景与底层硬件资源进行主动扩容提示,扩容标准:滴滴的实践是TPS场景:单Partition 3MB/S;IOPS场景:单Partition 10条/S。
-
Topic无效资源下线:针对线上持续一个月Topic无流量,无生产消费链接的资源,通知用户进行主动资源释放。
04 滴滴Logi-KafkaManager架构
-
资源层:滴滴Kafka引擎和KafkaManager除了 zookpeer之外只依赖msyql,依赖精简,部署方便;
-
引擎层:当前滴滴kafka引擎版本是2.5,我们在此基础上开发了一些自己的特性,如磁盘过载保护、IO线程池分离、Topic创建资源分配优化等功能,并且完全兼容开源社区的 0.10.X kafka版本;
-
网关层:引擎层之上滴滴设计了网关层,提供了安全管控、topic 限流、服务发现、降级能力;
-
服务层:基于kafkaGateway我们在滴滴Logi-KafkaManager上提供了丰富的功能,主要有:topic管理、集群监控、集群管控能力;
-
平台层:分别针对普通用户和运维用户,提供不同的功能集合,尽可能的将一些日常使用中的高频操作在平台上进行承接,降低用户的使用成本,同时核心能力API化,方便用户生态对接。
写在最后