kafka的名词,比如topic、producer、consumer、broker,我这边来简单说明一下。
producer:生产者,就是它来生产“鸡蛋”的。
consumer:消费者,生出的“鸡蛋”它来消费。
topic:你把它理解为标签,生产者每生产出来一个鸡蛋就贴上一个标签(topic),消费者可不是谁生产的“鸡蛋”都吃的,这样不同的生产者生产出来的“鸡蛋”,消费者就可以选择性的“吃”了。
broker:就是篮子了。
大家一定要学会抽象的去思考,上面只是属于业务的角度,如果从技术角度,topic标签实际就是队列,生产者把所有“鸡蛋(消息)”都放到对应的队列里了,消费者到指定的队列里取。
kafka+ELK日志系统
http://www.demodashi.com/demo/10181.html
https://www.cnblogs.com/demodashi/p/8458072.html
kafka实战
https://www.cnblogs.com/hei12138/p/7805475.html
https://www.cnblogs.com/cjsblog/p/9416380.html
kafka详细学习网址
http://www.kafka.cc/
kafka基本原理
https://www.cnblogs.com/yangxiaoyi/p/7359236.html中有一段讲的很好
通常来讲,消息模型可以分为两种:队列和发布-订阅式。队列的处理方式是一组消费者从服务器读取消息,一条消息只有其中的一个消费者来处理。在发布-订阅模型中,消息被广播给所有的消费者,接收到消息的消费者都可以处理此消息。Kafka为这两种模型提供了单一的消费者抽象模型: 消费者组(consumer group)。消费者用一个消费者组名标记自己。
一个发布在Topic上消息被分发给此消费者组中的一个消费者。假如所有的消费者都在一个组中,那么这就变成了queue模型。假如所有的消费者都在不同的组中,那么就完全变成了发布-订阅模型。更通用的, 我们可以创建一些消费者组作为逻辑上的订阅者。每个组包含数目不等的消费者,一个组内多个消费者可以用来扩展性能和容错。
kafka中offset(偏移量)存储位置
https://www.jianshu.com/p/e6f535fdf2a4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
kafka中消息的保留机制
Kafka Broker默认的消息保留策略是:要么保留一定时间,要么保留到消息达到一定大小的字节数。
https://blog.youkuaiyun.com/Wengzhengcun/article/details/83623880
https://blog.youkuaiyun.com/Tony10010/article/details/89553557
kafka主从同步和leader&follower机制原理
http://www.360doc.com/content/15/0620/20/20466010_479453703.shtml
问题:
关于读取kafka中zookeeper的问题,现在我的kafka服务器会一直运行着,现在有第一个消费者消费了一些东西之后突然中断,kafka中将保存这个消费者的offset数据,我现在创建第二个同组的消费者,如何取出刚才的offset,接着第一个消费者的数据读下去?