卡夫卡,作为大数据的核心技术,作为技术开发者,如果你不理解,那么你真的“出局”。DT时代的快速发展离不开卡夫卡,因此有必要理解和运用卡夫卡。
什么是卡夫卡?卡夫卡是一个发布和订阅记录流的分布式流平台。卡夫卡可以用于容错存储。卡夫卡将主题日志分区复制到多个服务器。卡夫卡的设计允许你的申请在记录生成后立即被处理。卡夫卡(Kafka)处理速度快,通过批量处理和压缩录音有效利用输入输出。卡夫卡将数据流解耦。卡夫卡被用来将数据流向数据湖、应用程序和实时流分析系统。卡夫卡主要用于大数据收集或实时信息流的实时分析(或两者兼有)。卡夫卡不仅可以为内存微服务提供服务,还可以将事件反馈给复杂的事件流系统和物联网/IFTT自动化系统。
目前,全球500强公司中有三分之一都在使用卡夫卡,之所以如此受欢迎的原因如下:
其一、kafka速度快。
Kafka是基于零拷贝原则,并严重依赖操作系统的内核来快速移动数据,实现数据记录的批量处理。这些批处理数据可以从生产者传递到文件系统(卡夫卡主题日志),然后以端到端的方式传递到消费者。批处理实现了更高效的数据压缩,并减少了输入/输出延迟。卡夫卡将不可变的提交日志写入连续磁盘,从而避免了随机磁盘访问和磁盘搜索速度慢的问题。卡夫卡支持添加分区来扩展。它将主题日志分成数百个(可能是数千个)分区,并将其分发到数千台服务器。这样,卡夫卡可以承载大量的负荷。
其二、Kafka支持多语言
客户端和服务器之间的卡夫卡式通信使用基于TCP的线路协议,该协议经过版本控制和记录。卡夫卡承诺保持与旧客户端的向后兼容性,并支持多种语言,包括C#、Java、C、Python、Ruby等。卡夫卡生态系统还提供了可通过超文本链接协议和JSON轻松整合的休息代理。卡夫卡还通过卡夫卡的融合模式注册表支持Avro模式。Avro和模式注册允许客户以多种编程语言制作和读取复杂的记录,并允许记录的更改。
其三、kafka应用广泛
Kafka支持实时流数据管道的构建,支持内存中的微服务(如actors、Akka、Baratine.io、QBit、电抗器、reactive、Vert.x、RxJava、SpringReactor),支持实时流应用的构建,执行实时数据分析、转换、响应、聚合、实时数据流的添加,并实现CEP。
其四、Kafka可扩展的消息存储
卡夫卡是一个很好的记录或信息存储系统。卡夫卡就像一个提交日志存储和复制的高速文件系统。这些特点使卡夫卡适合各种应用。写入卡夫卡主题的记录被保存到磁盘上,并复制到其他服务器上以实现容错。这种方法非常有用,因为磁盘既快又大。卡夫卡生产者可以等待确认,所以消息是持久的,因为生产者直到复制完成才会完成写操作。卡夫卡的磁盘结构可以很好地扩展。大量流式传输时,磁盘具有非常高的吞吐量。此外,卡夫卡客户端和消费者可以控制读取位置(偏移量),这允许在发生重要错误时重放用例,例如日志(即修复错误和重放)。此外,由于偏移由每个消费者组跟踪,消费者可以非常灵活地重放日志。
卡夫卡可以让正确的数据以正确的形式出现在正确的地方。卡夫卡的方法是提供一个消息队列,允许生产者将数据添加到队列的末尾,允许多个消费者依次从队列中读取数据,然后自己处理。这种便捷的模式必将使卡夫卡在各个领域的应用不断加强。在
DT时代,卡夫卡的应用将继续深化。未来,不仅世界500强公司将使用卡夫卡,任何企业都将使用这一方便的工具来实现大数据的布局。技术总是不断更新和发展,卡夫卡也在不断进行更详细的迭代。我相信未来企业的大数据布局会因为卡夫卡而更加方便。
极牛网精选文章《Kafka作为大数据的核心技术,你了解多少?》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/4104.html