kafka 使用、介绍

kafka  是一个消息系统, 具体资料可以参考官网:

    • Broker
      Kafka集群包含一个或多个服务器,这种服务器被称为broker
    • Topic
      每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic。(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的topic即可生产或消费数据而不必关心数据存于何处)
    • Partition
      parition是物理上的概念,每个topic包含一个或多个partition,创建topic时可指定parition数量。每个partition对应于一个文件夹,该文件夹下存储该partition的数据和索引文件
    • Producer
      负责发布消息到Kafka broker
    • Consumer
      消费消息。每个consumer属于一个特定的consumer group(可为每个consumer指定group name,若不指定group name则属于默认的group)。使用consumer high level API时,同一topic的一条消息只能被同一个consumer group内的一个consumer消费,但多个consumer group可同时消费这一消息。

push And pull

作为一个messaging system,Kafka遵循了传统的方式,选择由producer向broker push消息并由consumer从broker pull消息。一些logging-centric system,比如Facebook的Scribe和Cloudera的Flume,采用非常不同的push模式。事实上,push模式和pull模式各有优劣。
  push模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。push模式的目标是尽可能以最快速度传递消息,但是这样很容易造成consumer来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而pull模式则可以根据consumer的消费能力以适当的速率消费消息。

Topic & Partition

  Topic在逻辑上可以被认为是一个queue。每条消费都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里。为了使得Kafka的吞吐率可以水平扩展,物理上把topic分成一个或多个partition,每个partition在物理上对应一个文件夹,该文件夹下存储这个partition的所有消息和索引文件。

本文参考地址:http://www.jasongj.com/2015/01/02/Kafka%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90/

时间: 2024-10-07 13:18:19

kafka 使用、介绍的相关文章

Kafka入门介绍

1. Kafka入门介绍 1.1 Apache Kafka是一个分布式的流平台.这到底意味着什么? 我们认为,一个流平台具有三个关键能力: ① 发布和订阅消息.在这方面,它类似一个消息队列或企业消息系统.(生产和消费消息) ② 以容错的方式存储消息流.(存储消息) ③ 当消息流发生时处理它们.(处理消息) 1.1.1 kafka的优势 它应用于两大类应用: ① 构建实时的流数据管道,可靠地获取系统和应用程序之间的数据.(获取数据) ② 构建实时流的应用程序,对数据流进行转换或反应.(处理数据)

消息队列之kafka(基础介绍)

一.关于JMS 1. JMS 的基础 ??JMS是Java提供的一套技术规范.即Java消息服务(Java message service).应用程序接口.是一个Java平台中关于面向消息中间件的API.用于在两个应用程序之间或者分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API.??用来异构系统集成通信,缓解系统瓶颈. 提高系统的伸缩性.增强系统用户体验.使得系统模块化和组件化变得可行并更加灵活.JAVA2EE十三大规范:https://blog.csdn.net

【转帖】Kafka入门介绍

https://www.cnblogs.com/swordfall/p/8251700.html 最近在看hdoop的hdfs 以及看了下kafka的底层存储,发现分布式的技术基本上都是相同的. 都是通过增加一个coordinator的节点作为存储元数据, 将实体数据放到datanode 里面来提高容量.而且也跟微服务类似,将一个单体应用拆开分多份,放到不同的node节点中来 并且通过replication 来保证高可用.通过服务注册中心统一进行管理. 微服务 hadoop kafka 都是通过

Kafka简要介绍

介绍: Kafka是一个高吞吐量的分布是消息系统 ,原本开发自LinkedIn,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础.现在它已为多家不同类型的公司作为多种类型的数据管道(data pipeline)和消息系统使用. 现在Kafak作为apache的项目,被apache托管. 企业应用的背景: 企业集成的基本特点是把企业中现存的本不相干的各种应用进行集成.例如:一个企业可能想把财务系统和仓管系统进行集成,减少部门间结算和流通的成

kafka详细介绍,安装,配置

1.简介 Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现.kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker.无论是kafka集群,还是producer和consumer都依赖于zookeep

kafka 基础介绍

kafka 基础 kafka有四个核心API: 应用程序使用 Producer API 发布消息到1个或多个topic(主题). 应用程序使用 Consumer API 来订阅一个或多个topic,并处理产生的消息. 应用程序使用 Streams API 充当一个流处理器,从1个或多个topic消费输入流,并生产一个输出流到1个或多个输出topic,有效地将输入流转换到输出流. Connector API允许构建或运行可重复使用的生产者或消费者,将topic连接到现有的应用程序或数据系统.例如,

kafka综合介绍

设计目标 高吞吐率.即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输. 支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输 同时支持离线数据处理和实时数据处理 Scale out:支持在线水平扩展 以时间复杂度为O(1)的方式提供消息持久化能力 性能比较 对于RabbitMQ和Redis的入队和出队操作,各执行100万次,每10万次记录一次执行时间.测试数据分为128Bytes.512Bytes.1K和10K四个不同大小的

kafka基本介绍

1 卡夫卡消息队列简介 1.1 消息队列 1.1.1 基本特性 可扩展 在不需要下线的情况下进行扩容 数据流分区(partition)存储在多个机器上 高性能 单个broker就能服务上千客户端 单个broker每秒种读/写可达每秒几百兆字节 多个brokers组成的集群将达到非常强的吞吐能力 性能稳定,无论数据多大 持久存储 存储在磁盘上 冗余备份到其他服务器上以防止丢失 1.1.2 消息格式 一个topic对应一种消息格式,因此消息用topic分类 一个topic代表的消息有1个或者多个pa

kafka具体解释一、Kafka简单介绍

背景: 当今社会各种应用系统诸如商业.社交.搜索.浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临例如以下几个挑战: 怎样收集这些巨大的信息 怎样分析它 怎样及时做到如上两点 以上几个挑战形成了一个业务需求模型,即生产者生产(produce)各种信息,消费者消费(consume)(处理分析)这些信息,而在生产者与消费者之间,须要一个沟通两者的桥梁-消息系统. 从一个微观层面来说,这样的需求也可理解为不同的系统之间怎样传递消息. Kafka诞生:由 linked-in 开源 kaf

kafka 简单介绍

Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳. 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker. producers通过网络将消息发送到Kafka集群,集群向消费者提供消