滴滴Logi-KafkaManager核心设计原则及业务分层解析

本文探讨了滴滴构建Kafka云平台时的关键原则,包括以安全和稳定性为核心,实现网关系统的安全校验和多租户隔离,通过平台化降低用户成本,以及提升监控和运维的可视化。业务分层设计强调资源、引擎、网关和服务层的协作,同时阐述了应用逻辑架构和特色功能如topic管理、集群监控等。

滴滴 kafka 云平台建设需要解决的问题比较多元,因此在设计之初就需要对整体有一个清晰的思路和规划,为此我们定义了一个核心设计原则,并对业务进行了合理的分层用以指导我们后续的产品设计和代码开发。

▍1. 核心设计原则

在平台的整体设计上,我们制定了“一点三化”的设计原则:

  • 一点:以安全和稳定为核心点,建设 kafka 的网关系统,针对 topic 的生产/消费提供安全校验,同时提供多租户的隔离方案解决共享集群下多 topic 相互影响的问题;
  • 平台化:着重建设 kafka 云平台,反复进行需求调研和产品设计,提炼用户和运维的高频操作,将这些操作都通过平台实现,降低用户的使用成本;
  • 可视化:提升topic/集群监控、运维过程中指标的可观察性,所有指标尽量能在平台上可以直观体现,方便使用者及时感知集群运行状态,快速定位问题;
  • 专家化:将日常集群运维的经验沉淀在平台上,形成专家服务能力和智能化能力,进一步降低 kafka 集群的维护成本,提升整体稳定性。

v2-030305db69caad3c34684d34cd7ef92a_b.jpg


▍2. 业务分层架构

在滴滴 kafka manager 具体的业务设计上,我们采取分层设计,从下至上分为以下几层:


  • 资源层:滴滴 kafka 引擎和 kafka manager 除了 zookpeer 之外只依赖 msyql,依赖精简,部署方便;
  • 引擎层:当前滴滴 kafka 引擎版本是2.5,我们在此基础上开发了一些自己的特性,如磁盘过载保护,并且完全兼容开源社区的 kafka;
  • 网关层:引擎层之上我们设计了网关层,网关层的设计非常巧妙,主要提供:安全管控、topic 限流、服务发现、降级能力,具体详见后文“安全性”的内容;
  • 服务层:基于kafka gateway 我们在 kafka manager 上提供了丰富的功能,主要有:topic 管理、监控管理、集群管理等;
  • 平台层:对外提供了一套 web 平台,分别针对普通用户和运维用户,提供不同的功能页面,尽可能的将一些日常使用中的高频操作在平台上进行承接,降低用户的使用成本。

v2-428155472b872adaa0d3fae5e672b541_b.jpg

▍3. 应用逻辑架构

在实际的应用部署和关联上,整体的 kafka manager 和 kafka 引擎、kafka gateway 之间的逻辑关系比较简单,具体如下图所示:

  • kafka gateway 包括两大块功能:服务发现、元数据网关,详细介绍见后面的元数据网关设计一节。
  • kafka manager 提供我们开发的特色功能,如:topic管理、监控管理、集群管理,以及相应的 web 平台,普通用户和研发运维人员日常操作接触最多,最高频的操作都将这上面完成。

v2-befcde1e951490a48719515a636b42d6_b.jpg

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值