kafka基础知识点

慕课网视频连接:https://www.imooc.com/video/17859

github代码链接:  https://github.com/AnAngryMan/KafkaSimpleExample

Kafka 流处理平台---是消息队列,但不仅仅是消息队列

Kafka 是一种分布式的,基于发布 / 订阅的消息系统。

Linkend采用scala开发的,
2011年初开源,加入Apache基金会,
2012年从Apache Incubator毕业成为顶级项目

特性:
    1.消息队列:可以发布和订阅记录数据的流,类似于消息队列
    2.数据流存储的平台,具备数据错误容忍
    3.当数据产生时对数据进行处理
应用:
    数据传输,数据处理

主要设计目标如下:

  • 以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对 TB 级以上数据也能保证常数时间复杂度的访问性能。
  • 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒 100K 条以上消息的传输。
  • 支持 Kafka Server 间的消息分区,及分布式消费,同时保证每个 Partition 内的消息顺序传输。
  • 同时支持离线数据处理和实时数据处理。
  • Scale out:支持在线水平扩展。

    
基本概念:


    Producer:消息和数据的生产者,向kafka的一个topic发布消息进程/代码/服务
    Consumer:消息和数据的消费者,订阅数据(Topic)并且处理其发布的消息的进程/代码/服务
    Consumer Group:逻辑概念,对于同一个topic,会广播给不同的group,
                    同一个group里,只有一个comsumer可以消费该消息
    Broker:物理概念,kafka集群中的每个kafka节点
    Topic:逻辑概念,kafka消息的类别 ,对数据进行区分,隔离
    Partition:物理概念,kafka下数据存储的基本单元.
              一个topic,会被分散存储到对各partition,每一个partition是有序的
    Replication(副本):同一个Partition可能有多个Replication,多个间数据是一样的
    Replication Leader:Leader负责交互
    ReplicationManager:负责管理当前broker所有分区和副本的信息,
                       处理kafkaController发起的一些请求,
                       副本状态的切换,添加/读取消息
                       
    消费者的数目要小于等于partition的数目

特点:
    1.分布式:多分区,多副本(容错),多个订阅者,基于zookeeper调度
    2.高性能:高吞吐(每秒几十万),高并发,低延迟,时间复杂度O(1)
    3.持久性和可扩展性:数据可持久化,容错性,支持在线水平扩展,消息自动平衡(避免消息集中在某几个服务器)
    
应用场景:
    1.消息队列
    2.行为跟踪(浏览记录进行记录)
    3.元信息监控
    4.日志收集
    5.流处理
    6.事件源
    7.持久性日志
    
    
安装步骤:https://blog.youkuaiyun.com/u010283894/article/details/77106159
1.安装zookeeper  运行
2.安装kafka 运行    .\bin\windows\kafka-server-start.bat .\config\server.properties
            报错解决方式  
            修改文件:kafka-run-class.bat    以下代码里的 %CLASSPATH% 添加引号
            set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp "%CLASSPATH%" %KAFKA_OPTS% %*

            创建topic  ./bin/windows/kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic imooc-kafka-topic
            查看topic  .\bin\windows\kafka-topics --list --zookeeper localhost:2181
            启动服务者 .\kafka-console-producer.bat --broker-list localhost:9092 --topic imooc-kafka-topic
            启动消费者 .\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic imooc-kafka-topic --from-beginning
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值