五分钟技术趣谈 | 城市平台Kafka推送实现分析
来源 | 中移物联2023-08-07 09:31:15
城市平台Kafka推送基于官方的客户端实现,通过官网客户端提供的API进行鉴权,授权及资源隔离等操作。
图片


作者:范海秋

单位:中移物联网有限公司


Part 01● 功能介绍 ●


图片


  • 开发者控制台功能

1.服务实例管理:Kafka集群实例配置信息及白名单管理。

2.数据统计:统计单Topic、Group每日消息生产量及消费量。

3.Topic管理:Topic基础信息及订阅关系管理。

4.Consumer Group管理:Group基础信息及消费状态管理。

  • 后台管理系统

1.服务集群管理:提供Kafka集群实例添加及配置管功能。

2.授权用户管理:为开发者配置Kafka集群实例及资源权限。

城市物联网平台实现的Kafka推送是在开源Apache Kafka 2.8.x版本上,增加了以用户为维度的鉴权、授权机制以及资源管理功能,同时实现了与规则引擎的数据对接,通过配置规则引擎,将设备基础数据,感知数据等应用数据推送给上层SaaS应用,可以直接通过Kafka官网的客户端消费数据。

Part 02● Kafka推送优势 ●

  • 性能对比

Kafka具有低时延、高可用性的特性,吞吐量高,单机写入TPS约在百万条/秒,与物联网设备数据量大的场景比较契合。

  • 运维实施

社区活跃,使用场景广泛,部署实践经验较丰富、开源学习成本低,对于研发、运维人员门槛低,能够轻松完成应用数据对接开发。

  • 项目支撑

可同时支持多个应用子系统的数据集成需求,减少内部消息转发业务研发,同时可缓存部分数据;Kafka消息中间件,通用性强、适用范围更广,数据对接流程简单。

Part 03● Kafka推送关键技术分析 ●

城市平台Kafka推送基于官方的客户端实现,通过官网客户端提供的API进行鉴权,授权及资源隔离等操作。

  • Kafka鉴权

基于SASL/SCRAM连接鉴权,可以通过命令或者API创建、删除用户。

  • Kafka授权

可以基于Topic、分组对用户授权,保证用户的数据隔离。

  • 资源隔离

可以基于用户消费、生产速率配额,限制带宽。

  • 关键API列举


图片