020-29815005
预约专线时间:09:00-23:59

作为大数据的核心技术,Kafka,你了解多少?

新闻来源:本站 日期:2021-06-01
Kafka是大数据最核心的技术,也是一个技术开发者,如果你不懂,那就是真正的“out”。快速发展的DT时代离不开Kafka,因此,理解Kafka,并应用Kafka成为一种必然。
  Kafka是什么?Kafka是一个用于发布和订阅记录流的分布式流平台。可以使用Kafka进行容错存储。Kafka将一个主题日志分区复制到不同的服务器上。卡夫卡设计用于使您的应用程序能够在生成记录之后立即进行处理。Kafka可以快速处理,并通过批处理和压缩记录有效地使用IO。Kafka可以分离出数据流。卡夫卡被用来将数据传输到数据湖,应用,以及实时的流分析系统。卡夫卡主要用于实时信息流的大规模数据收集或实时分析(二者兼而有之)。Kafka可为内存微服务提供持久性服务,也可将事件反馈给复杂的事件流系统和IoT/IFTTT式的自动化系统。


大数据


  现在有三分之一的世界500强企业正在使用kafka,之所以这么受欢迎,原因如下:

  第一,kafka很快。

  基于zerocopy原理,Kafka深度依赖操作系统内核实现快速移动数据,可以批量处理数据记录。从生产者到文件系统(Kafka主题日志)再到用户,端到端的方式都可以获得批数据。批量处理可以提高数据压缩效率,并降低I/O延迟。卡夫卡把不可变的提交日志写到连续磁盘上,避免了随机访问磁盘和磁盘寻道缓慢的问题。Kafka支持为横向扩展增加分区。该方法将主题日志划分为数百个(可能为数千)分区,并分配到数千台服务器。这样,Kafka就可以承载大量的负载。

  第二,Kafka支持多种语言。

  客户机与服务器之间的Kafka通信使用基于TCP的线路协议,它是经过版本化和文档化的。Kafka承诺将向后兼容旧的客户机,并且将支持多种语言,包括C#、Java、C、Python、Ruby等。Kafka生态系统还提供了可以通过HTTP和JSON轻松集成的REST代理。卡夫卡还通过卡夫卡的融合模式(ConfluentSchemaRegistry)注册了Avro模式。Avro和Schema注册允许用户用多种编程语言创建和阅读复杂的记录,并允许更改记录。

  第三,卡夫卡的应用非常广泛。

  Kafka支持构建实时流数据管道,支持内存微服务(如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,SpringReactor),构建用于实时数据分析、转换、响应、聚合、加入实时数据流和执行CEP的实时流应用程序。

  第四,Kafka可扩展的消息库。

  卡夫卡是一种优秀的记录和信息存储系统。Kafka就像一个高速文件系统,可以提交日志存储和复制。这一特性使卡夫卡适合各种应用场合。将写入Kafka主题的记录持久化保存到磁盘上,然后复制到其他服务器以实现容错。因为现在磁盘很快,而且相当大,所以这种方法很有用。Kafka生产者可以等待确认,因此消息是持久化的,因为生产者直到复制完成后才完成写入。kafka磁盘结构扩展得很好。当进行大规模流式传输时,磁盘的吞吐量非常高。另外,Kafka客户和用户可以控制读取位置(偏移),这样就可以在重大错误(即修复错误和重放)发生时重播日志等用例。另外,因为偏移是根据每一组用户跟踪的,用户可以非常灵活地重放日志。

  Kafka可以使正确的数据以正确的格式显示在正确的位置上。在Kafka的实践中,提供一个消息队列,允许生产者向队列的结尾单独添加数据,并允许多个使用者依次从队列中读取数据,然后自己进行处理。这样一个方便的模型,必然会使kafka在各个领域的应用不断加强。

  在DT时代,对Kafka的应用将不断深入,未来不仅世界500强企业会使用Kafka,任何一家企业都会利用Kafka这个方便的工具来布局大数据。科技一直在不断地更新和发展,kafka也在不断地细化,相信,未来企业的大数据布局,一定会因为kafka而变得更加方便。