kafka的优点和新特性

时间:2021-09-10 21:15:04

kafka的优点:

1.主要是用来解决百万级别的数据中生产者和消费者之间数据传输的问题

2.可以将一条数据提供给多个接收这做不同的处理

3.当两个系统是隔绝的,无法通信的时候,如果想要他们通信就需要重新构建其中的一个工程,而kafka实现了生产者和消费者之间的无缝对接。

4.大数据时代,最重要的是数据的收集和分析,这些数据包括:

1).用户的行为数据

2).应用工程的性能数据

3).日志的用户活动数据等

5.kafka提供了系统之间的消息通信,对于生产者而言,只关注与把消息发送的kafka上,而并不关心这个消息是被谁消费的(kafka相当于消息的代理者)。

6.kafka是一个开源的消息发布和订阅系统,主要用于以下场景中:

1).持续的消息:为了从大数据中派生出有用的数据,任何数据的丢失都会影响生成的结果,kafka提供了一个复杂度为O(1)的磁盘结构存储数据,即使是对于TB级别的数据都是提供了一个常量时间性能。

2).高吞吐量:keep big data in mind,kafka采用普通的硬件支持每秒百万级别的吞吐量

3).分布式:明确支持消息的分区,通过kafka服务器和消费者机器的集群分布式消费,维持每一个分区是有序的。

4).支持多种语言:java、.net、php、ruby、python。

5).实时性:消息被生成者线程生产就能马上被消费者线程消费,这种特性和事件驱动的系统是相似的。


kafka 0.8的新特性:

1.在0.8之前,当一个服务器出现问题的时候,没有不被消费的数据将丢失,0.8的分区提供了数据的复制和备份,确保至少有一份数据是可用的

2.以前,生产者的消息会阻塞,直到这个消息被复制到所有的副本中,但是生产者可以配置是否提交到单一的服务器。

3.kafka消费这轮循模式变成一个长拉取模式,一直阻塞到一个提交的消息是有效的,避免频繁的拉取

4.实现了管理工具,例如:控制族群的关闭和leader的选举工具管理kafka集群。