3

五分钟技术趣谈 | 城市平台Kafka推送实现分析

 1 year ago
source link: https://www.51cto.com/article/762715.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

五分钟技术趣谈 | 城市平台Kafka推送实现分析

作者:移动Labs 2023-08-07 06:31:56
城市平台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列举
图片
责任编辑:庞桂玉 来源: 移动Labs

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK