58同城架构师带你手写Kafka流处理技术

Kakfa介绍

Kafka是什么

Kafka最初是LinkedIn的内部内部基础设施系统。它被认为是一个流平台,在Kafka上可以发布和订阅流数据,并把它们保存起来、进行处理。但是我们在使用Kafka中,最多的就是将它作为一个消息系统使用,类似于ActiveMQ、RabbitMQ等。但是Kafka与这些传统的消息系统又有着许多的不同点,这些差异使它又不同于消息系统。

  • Kafka是一个分布式系统,以集群(支持自由伸缩)的方式运行。(所以我们总称为分布式消息队列)
  • Kafka可以用来存储数据,数据存储的时间长短由你自己定义(以容错持久化的方式存储)。并且只要数据还存储在Kafka中,你可以重复读取。
  • 流式处理将数据处理的层次提升到了新高度。

而传统的消息系统,只会用来传递消息。
Kafka也可以看成是实时版的Hadoop(这也是设计Kafka的初衷之一)。Hadoop可以存储和定期处理大量的数据文件,而Kafka而可以存储和持续型的处理大型的数据流。Hadoop主要应用于数据分析上,而Kafka因其低延迟的特点更合适应用于核心业务上,业务事件发生时,Kafka能够针对这些事件及时做出相应。同时kafka也可以和ETL进行比较,因为它们擅长移动数据。

Kafka属于消息系统中的发布-订阅模式消息系统。消息发送者不会将消息直接发送到消息接受者里,而是将消息首先进行分类(topic),然后将消息发布到消息系统中。消息接受者选择需要订阅的消息类型(topic),然后就能够从消息系统中接收所订阅的消息了。

讲师简介

58同城架构师带你手写Kafka流处理技术

Kafka的应用

58同城架构师带你手写Kafka流处理技术

Kafka的消息处理流程

58同城架构师带你手写Kafka流处理技术

Kafka的重要配置信息

58同城架构师带你手写Kafka流处理技术

Kafka的命令实战

58同城架构师带你手写Kafka流处理技术

Kafka实战--函数式编程和lambda表达式

58同城架构师带你手写Kafka流处理技术

总结

Kafka正在爆炸式增长。超过三分之一的财富500强企业都使用Kafka。这些公司包括十大旅游公司,十大银行中的七家,十大保险公司中的八家,十大电信公司中的九家,以及更多。LinkedIn,微软和Netflix每天使用Kafka(1,000,000,000,000)处理万亿级的消息。Kafka用于实时数据流,收集大数据或进行实时分析(或两者兼而有之)。Kafka与内存微服务一起使用以提供可靠性,它可用于向 CEP(复杂事件流系统)和IoT / IFTTT式自动化系统提供事件。

猜你喜欢

转载自blog.51cto.com/13904503/2415683
今日推荐