消息系统
通常用来构建实时的处理管道,实时的流处理
消息中间件:生产者和消费者
例如妈妈做馒头给你吃。
妈妈:生产者
你:消费者
馒头:数据流、消息
正常的情况:生产一个馒头,吃掉一个馒头
其他情况:
一直生产,到一定的时候,你吃不了了(机器故障),馒头就丢失了。
一直生产,做馒头的速度快,你来不及吃,馒头也丢失了。
那么就需要一个篮子,来盛放做好的馒头,要吃的时候去篮子里拿。
篮子、框:Kafka
kafka概念:
producer:生产者
consumer:消费者
blocker:篮子
topic:主题,给馒头带标签,topica的馒头是给你的,topicb的馒头是个弟弟吃的。
Receiver整合:
1)启动zk
2)启动kafka
3)创建topic
4)通过控制台测试topic是否能够正常的生产和消费信息
Dircet整合模式(no receivers):
KafkaUtils.createDirectStream[String,String,StringDecoder,StringDecoder](ssc,kafkaParams,topicsSet)
1、directStream
2、zero-data loss
3、只执行一次
one disadvantage of this approach is that it does not update offsets in zookeeper,hence zookeeper-based Kafka monitoring tools will not show progress.However, you can access the offsets processed by this approach in each batch and update zookeeper yourself.