Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。简单地说,Kafka就相比是一个邮箱,生产者是发送邮件的人,消费者是接收邮件的人,Kafka就是用来存东西的,只不过它提供了一些处理邮件的机制。

一、Kafka的优势如下:      

 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒;     

 可扩展性:kafka集群支持热扩展;  

 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失;    

 容错性:允许集群中节点故障(若副本数量为n,则允许n-1个节点故障);      

 高并发:支持数千个客户端同时读写。

二、Kafka适合以下应用场景:     

  日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer;     

  消息系统:解耦生产者和消费者、缓存消息等;   

 用户活动跟踪:kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后消费者通过订阅这些topic来做实时的监控分析,亦可保存到数据库;     

 运营指标:kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告;     

 流式处理:比如spark streaming和storm。
              
              
       

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐