kafka入门学习

1.定义

kafka是一个分布式的基于发布/订阅模式消息队列,主要应用于大数据实时处理领域。

一般批处理(一个文件 或者一批文件),不管文件多大,都是可以度量  

​mapreduce hive  sparkcore  sparksql

2.消息队列

kafka入门学习_第1张图片

最大的优势就是解耦削峰。 

3.两种模式

点对点模式(1对1消费模式)、发布订阅模式(1对n消费模式)

发布订阅模式分为两种:

        1.消费者主动拉取的(kafka模式,优点,可以根据自己的消费情况来拉去生产者生产的数据。缺点:浪费资源,时刻不停地要访问队列是否存在要拉去的数据)。

        2.由队列主动推送的(比如公众号模式,弊端,不想要的信息也会强行推送进来)。

 4. Kafka的简介

  • 在大数据领域呢,为了满足日益增长的数据量,也有一款可以满足百万级别消息的生成和消费,分布式、持久稳定的产品——Kafka
  • Kafka是分布式的发布—订阅消息系统(基于PS的一个消息队列)
  • 它最初由LinkedIn(领英)公司发布,使用Scala语言编写
  • Kafka是一个高吞吐量的、持久性的、分布式发布订阅消息系统
  • 它主要用于处理活跃的数据(登录、浏览、点击、分享、喜欢等用户行为产生的数据

5. Kafka的特点

  • 高吞吐量
    • 可以满足每秒**百万级**别消息的生产和消费(生产消费 )
  • 持久性
    • 有一套完善的消息存储机制,确保数据的高效安全的持久化 (数据的存储)
  • 分布式
    • 基于分布式的扩展和容错机制;Kafka的数据都会复制到几台服务器上。当某一台故障失效时,生产者和消费者转而使用其它的机器——整体健壮性 

6. Kafka的组件 

一个消息队列需要哪些部分?
   生产
   消费
   消息类别
   存储等等 
Topic(主题)
  Kafka处理的消息的不同分类 
Broker (消息代理)
   Kafka集群中的一个kafka服务节点称为一个broker,主要存储消息数据,存在硬盘中。每个topic都是有分区的 
Partition (物理上的分区)
   一个topic在broker中被分为1个或者多个partition,分区在创建topic的时候指定 
Message (消息)
  消息,是通信的基本单位,每个消息都属于一个partition

7. Kafka的服务

Producer : 消息和数据的生产者,向Kafka的一个topic发布消息
Consumer :消息和数据的消费者,定于topic并处理其发布的消息
Zookeeper :协调kafka的正常运行

8生产者消费者shell操作

生产消息

kafka-console-producer.sh --topic t1  --broker-list uplooking03:9092,uploo
king04:9092,uplooking05:9092

消费消息

kafka-console-consumer.sh  --zookeeper uplooking03 --topic t1

--from-beginning:从头开始消费
--blacklist:黑名单过滤(kafka-console-consumer.sh  --zookeeper uplooking03   --blacklist t1,t3)
--whitelist:白名单过滤(kafka-console-consumer.sh  --zookeeper uplooking03   --whitelist t2)

--topic|--blacklist|--whitelist 只能出现其中一个

你可能感兴趣的:(职场和发展,less,集成学习)