美文网首页
kafka 入门

kafka 入门

作者: cammsia | 来源:发表于2016-09-21 15:44 被阅读247次

Kafka是一个 分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。

首先来了解一下Kafka所使用的基本术语:
Topic
Kafka将消息种子(Feed)分门别类, 每一类的消息称之为话题(Topic).
Producer
发布消息的对象称之为话题生产者(Kafka topic producer)
Consumer
订阅消息并处理发布的消息的种子的对象称之为话题消费者(consumers)
Broker
已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker). 消费者可以订阅一个或多个话题,并从Broker拉数据,从而消费这些已发布的消息。
partition
每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。分区中的消息都被分配了一个序列号,称之为偏移量(offset),在每个分区中此偏移量都是唯一的。 Kafka集群保持所有的消息,直到它们过期, 无论消息是否被消费了。

Client和Server之间的通讯是通过一条简单、高性能并且�和开发语言无关的TCP协议

生产者(Producer)

生产者往某个Topic上发布消息。生产者也负责选择发布到�Topic上的哪一个分区。最简单的方式从分区列表中轮流选择。也可以根据某种算法依照权重选择分区。开发者负责如何选择分区的算法。

消费者(Consumers)

Topic分区中消息只能由消费者组中的唯一一个消费者处理,所以消息肯定是按照先后顺序进行处理的。但是它也仅仅是保证Topic的一个分区顺序处理,不能保证跨分区的消息先后处理顺序。 所以,如果你想要顺序的处理Topic的所有消息,那就只提供一个分区。

kafka的保证
  • 生产者发送到一个特定的Topic的分区上的消息将会按照它们发送的顺序依次加入
  • 消费者收到的消息也是此顺序
  • 如果一个Topic配置了复制因子( replication facto)为N, 那么可以允许N-1服务器宕机而不丢失任何已经增加的消息
消息传递保障
  • 最多一次 --- 消息可能丢失,但永远不会重发
  • 至少一次 --- 消息绝不会丢失,但有可能重新发送
  • 正好一次 --- 这是人们真正想要的,每个消息传递一次且仅一次
性能

3台kafka集群 3台customer(生产者或者消费者):
CPU:8 vCPU, Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
内存:16 GB
磁盘:500 GB
实验条件:3个Broker,1个Topic,6个Partition,无Replication,异步模式,消息Payload为100字节
测试项目:测试1个Producer和1个Consumer同时工作时Consumer所能消费到的消息量
测试结果:1,215,613 records/second

#######优点和缺点
优点

  • 高吞吐率
  • 分布式,高扩展性
  • 容错性
  • 持久性,可靠性
  • 高并发: 支持数千个客户端同时读写

相关文章

  • 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/dweaettx.html