Kafka是一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒。
Kafka的特点: 1.可扩展性:kafka集群支持热扩展持久性、 2.可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失 3.容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败) 4.高并发:支持数千个客户端同时读写 5.解耦:允许独立瓣扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束 6.异步通信:允许用户把一个消息放入列队,但不立即处理它,有需要时可再去处理。 kafka的应用架如下图所示,这里就不具体去解说:
|