kafka 入门

作者: 黄靠谱 | 来源:发表于2019-03-05 14:24 被阅读30次

https://www.jianshu.com/p/eba0067b1e1a

  • 主题(Topic):类似于rocketmq的Topic,不同于activemq的topic,是根据consumer的状态分为 集群订阅和发布订阅。

  • 分区(Partition):类似于rocketmq的queue,一个topic中的消息数据按照多个分区组织,分区是kafka消息队列组织的最小单位,一个分区可以看做是一个FIFO的队列;

  • 副本(Replication):为了保证分布式可靠性,针对每个Partition有副本的概念,副本数不超过Broker的节点数,注意这里的副本是针对分区而言的,有leader和follower角色的partition,follower是冷备,不处理任何读写请求

特性:

  • kafka的consumer也是pull模型,和rocketmq一样的
  • 支持批量发送、异步发送

集群

一个kafka集群支持多个Broker,但是Broker之间并没有主从的概念,这个架构上和rocketmq区别很大,有点反传统模式。
每个Topic下有N个partition,每个partition可以有N个副本(N不能超过Broker的个数),每个Partition有一个leader,leader完成所有的读写请求,其它副本只是冷备的作用

基于这个模式,主从的概念不是在物理节点上,而是基于逻辑的partition了,一个topic有N个partition,每个partition都会选举一个leader,物理节点在不同partition支持并发的写。实现了类似的多节点一起写的效果。

kafka的存储机制

https://www.cnblogs.com/jun1019/p/6256514.html

image
  • 每个topic -->n个partition(每个partition对应一个目录)
  • 每个partition-->n个segment(每个segment默认500M,满了就新增,超过7天自动清除)
  • 每个segment对应两个文件 log文件和index文件,index存储的是(消息的序号offset,消息对应在log的位置)
  • 支持顺序写。每个segment的序号是递增的。
  • kafka默认被消费之后的消息仍然不会删除,可以设置一个保留期(默认7天,系统自动删除)

kafka的消费负载均衡

是由zk来维护,Consumer和partition的信息,几个Consumer瓜分一个topic下的partition,和rocketmq一样的。

kafka的顺序消息

通过把一个topic下的 partition设置为1个,且只有1个消费者的情况,是可以实现顺序消息的,否则是无法保证的。
RocketMQ有指定queue的功能,指定且消费的时候加锁,但是kafka不具备。
but kafka也支持根据hash(key)来指定partition(默认轮询),

kafka的角色

http://kafka.apache.org/documentation/#design
注册中心 :zookeeper ; 消费者、生产者、broker(支持多broker)

相关文章

  • Kafka视频集

    kafka企业级入门实战完整版 Kafka系列教程 Kafka入门 分布式消息通信Kafka原理剖析 阿里架构师直...

  • 再看kafka——spring boot集成kafka

    之前自己写过一篇入门文章kafka简单入门及与spring boot整合,主要是结合kafka官方的文档入门,学习...

  • Kafka学习

    MQ入门总结(六)Kafka的原理和使用 Kafka的架构原理,你真的理解吗? 真的,Kafka 入门一篇文章就够...

  • Kafka快速开始

    入门 1.简介 Kafka is a distributed streaming platform,kafka是一...

  • 【kafka】为什么要学习Kafka?

    KAFKA官方文档入门指南 http://ifeve.com/kafka-1 为什么要学习Kafka? http:...

  • (3)kafka的安装部署以及基本操作

    1.kafka 的安装部署 可以去看kafka的快速入门:http://kafka.apache.org/quic...

  • kafka入门

    Apache Kafka 入门 1.kafka简介和产生的背景 什么是 Kafka Kafka 是一款分布式消息发...

  • kafka极简入门(四)--常用配置

    回顾:kafka极简入门(三)--创建topic 前言 kafka针对broker, topic, produce...

  • kafka极简入门(二) --安装

    回顾kafka极简入门(一) --简介 1.单机版kafka安装 kafka需要结合zookeeper使用,所以本...

  • Kafka入门

    Kafka官网:http://kafka.apache.org/入门1.1 介绍Kafka™ 是一个分布式流处理系...

网友评论

    本文标题:kafka 入门

    本文链接:https://www.haomeiwen.com/subject/kaonuqtx.html