内容简介:经常听后端童鞋提到它主要用于处理活跃的流式数据。
经常听后端童鞋提到 Kafka
这个词,加上业务慢慢有了交集,对 Kafka
的好奇越来越强烈。索性花点时间,一探究竟,顺便扩展一下技能树。
一、Kafka 是什么?
Kafka
是分布式发布-订阅消息系统。它最初由 LinkedIn
公司开发,之后成为 Apache
项目的一部分。 Kafka
是一个分布式的,可划分的,冗余备份的持久性的日志服务。
它主要用于处理活跃的流式数据。
二、简单理解
举个 例子
,生产者消费者,生产者生产鸡蛋,消费者消费鸡蛋,生产者生产一个鸡蛋,消费者就消费一个鸡蛋,假设消费者消费鸡蛋的时候噎住了(系统宕机了),生产者还在生产鸡蛋,那新生产的鸡蛋就丢失了。再比如生产者很强劲(大交易量的情况),生产者 1 秒钟生产 100 个鸡蛋,消费者 1 秒钟只能吃 50 个鸡蛋,那要不了一会,消费者就吃不消了(消息堵塞,最终导致系统超时),消费者拒绝再吃了,「鸡蛋」又丢失了,这个时候我们放个篮子在它们中间,生产出来的鸡蛋都放到篮子里,消费者去篮子里拿鸡蛋,这样鸡蛋就不会丢失了,都在篮子里,而这个篮子就是 kafka
。
鸡蛋其实就是「数据流」,系统之间的交互都是通过「数据流」来传输的,也称为报文,也叫「消息」。
消息队列满了,其实就是篮子满了,「鸡蛋」放不下了,那赶紧多放几个篮子,其实就是 kafka
的扩容。
综上所述,kafka 的概念就很好理解了,它就是那个「篮子」。
三、使用场景
1.消息系统
对于一些常规的消息系统, kafka
是个不错的选择。
2.检测网站活性
kafka
可以作为「网站活性跟踪」的最佳工具。可以将网页/用户操作等信息发送到 kafka
中。并实时监控,或者离线统计分析等。
3.日志系统
kafka
的特性决定它非常适合作为「日志收集中心」;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 你了解HTTPS,但你可能不了解X.509
- 你真的了解Mybatis的${}和#{}吗?是否了解应用场景?
- 你所了解的 array_diff_uassoc 真的是你了解的那样吗?
- 图文了解 Kubernetes
- 深入了解 JSONP
- 一文了解 Kubernetes
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Don't Make Me Think
Steve Krug / New Riders Press / 18 August, 2005 / $35.00
Five years and more than 100,000 copies after it was first published, it's hard to imagine anyone working in Web design who hasn't read Steve Krug's "instant classic" on Web usability, but people are ......一起来看看 《Don't Make Me Think》 这本书的介绍吧!
HTML 编码/解码
HTML 编码/解码
UNIX 时间戳转换
UNIX 时间戳转换