kafka分区与分组原理_公共安全领域 Kafka 应用实践

一、前言

本案例作为大数据框架在公共安全领域应用实践的开篇之作,将从最基础的数据架构体系优化讲起。在接下来的章节里将详细描述Kafka的基本原理、Kafka增强组件以及基于Kafka的Lambda架构的具体应用场景以及相应的研发成果。

Lambda架构由Storm的作者Nathan Marz提出。旨在设计出一个能满足。实时大数据系统关键特性的架构,具有高容错、低延时和可扩展等特。

Lambda架构整合离线计算和实时计算,融合不可变(Immutability,读写分离和隔离 一系列构原则,可集成Hadoop,Kafka,Storm,Spark,HBase等各类大数据组件。 大数据系统的关键问题:如何实时地在任意大数据集上进行查询?大数据再加上实时计算,问题的难度比较大。Lambda架构通过分解的三层架构来解决该问题:Batch Layer,Speed Layer和Serving Layer。如下图所示意。

a6f40f41af0c5b2db6aa0dd74e2f375d.png

图1.1 Lambda架构图

数据流进入系统后,同时发往Batch Layer和Speed Layer处理。Batch Layer以不可变模型离线存储所有数据集,通过在全体数据集上不断重新计算构建查询所对应的Batch Views。Speed Layer处理增量的实时数据流,不断更新查询所对应的Real time Views。Serving Layer响应用户的查询请求,合并Batch View和Real time View中的结果数据集到最终的数据集。

二、基于Kafka的Lambda架构

2.1 某省大数据平台实践案例

以某省厅大数据建设方案为例,将Kafka作为统一的数据流通道(data pipeline)。Kafka分为地市和省厅两级,地市数据首先经过流式化处理发送到地市的Kafka,经过标准化后,地市Kafka的再汇集到省厅Kafka。

af2ee50d9c7d12dafb2ed721ae16006d.png

某省大数据平台实践

2.2 引入Kafka的必要性

在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能、低延迟的不停流转。传统的企业消息系统并不是非常适合大规模的数据处理。容易造成日志数据难以收集,容易丢失信息,Oracle实例之间的管道无法供其它系统使用,数据架构易创建难扩展,数据质量差等问题。为了同时搞定在线应用(消息)和离线应用(数据文件,日志),Kafka就出现了。Kafka可以起到两个作用:

• 降低系统组网复杂度。

• 降低编程复杂度,各个子系统不再是相互协商接口,各个子系统类似插口插在插座上,Kafka承担高速数据总线的作用。

69b290d64e97558bc5ada13507fbff9b.png

传统数据架构

引入Kafka后,可以构建以流为中心数据架构。Kafka是作为一个全局数据管道。每个系统都向这个中心管道发送数据或者从中获取数据。应用程序或流处理程序可以接入管道并创建新的派生流。这些派生流又可以供其它各种系统使用。

2c9dc2f04757c124dc5e62166ab3a34a.png

以流为中心的数据架构

三、Kafka技术分析

3.1 Kafka的特点

Kafka可以让合适的数据以合适的形式出现在合适的地方。Kafka的做法是提供消息队列,让生产者单往队列的末尾添加数据,让多个消费者从队列里面依次读取数据然后自行处理。

da8989ca4c92dc997aab2f0ec60f1a18.png

Kafka消息队列

• 分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个,均为分布式的。无需停机即可扩展机器。</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《深入理解Kafka_核心设计与实践原理》是一本关于Kafka的重要著作,以下是对该书的简要回答。 该书主要通过系统地介绍Kafka的核心设计和实践原理,帮助读者深入理解Kafka的内部机制和工作原理。首先,书中详细介绍了Kafka的基本概念,包括Kafka集群的组成、主题和分区的概念等,为读者建立起对Kafka的基础认识。 接着,该书深入探讨了Kafka消息的存储和传输机制。阐述了Kafka如何将消息持久化到磁盘,并通过基于磁盘的顺序写性能实现高吞吐量的特点。同时,还介绍了Kafka的消息分区和副本机制,解释了如何通过分区和副本分散消息的负载并提供数据的冗余性。 此外,该书还深入研究了Kafka的消息传输过程。对生产者和消费者的工作原理进行了详细解读,包括消息的发送和订阅过程以及Kafka如何保证消息的可靠性传输。同时,介绍了Kafka的消费组和分区再均衡机制,以及与ZooKeeper的整合。 最后,该书还对Kafka的高级特性进行了介绍,包括事务支持、使用Kafka Streams进行流处理、使用Kafka Connect进行数据集成等内容,帮助读者进一步了解和应用Kafka的高级功能。 综上所述,《深入理解Kafka_核心设计与实践原理》是一本全面而深入的Kafka技术指南。通过阅读本书,读者可以深入理解Kafka的核心设计和实践原理,掌握Kafka的基本概念和工作原理,并能够应用Kafka解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值