首页 > 其他分享 >Kafka

Kafka

时间:2023-04-12 16:35:24浏览次数:42  
标签:linkedin kafka Topic 消息 Kafka Consumer

为什么Kafka的性能那么好? - 李潘 - 博客园 (cnblogs.com)

 

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
kafka的架构师jay kreps对于kafka的名称由来是这样讲的,由于jay kreps非常喜欢franz kafka,并且觉得kafka这个名字很酷,因此取了个和消息传递系统完全不相干的名称kafka,该名字并没有特别的含义。
kafka的诞生,是为了解决linkedin的数据管道问题,起初linkedin采用了ActiveMQ来进行数据交换,大约是在2010年前后,那时的ActiveMQ还远远无法满足linkedin对数据传递系统的要求,经常由于各种缺陷而导致消息阻塞或者服务无法正常访问,为了能够解决这个问题,linkedin决定研发自己的消息传递系统,当时linkedin的首席架构师jay kreps便开始组织团队进行消息传递系统的研发;
主要特性编辑 播报
Kafka 是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
支持通过Kafka服务器和消费机集群来分区消息。
支持Hadoop并行数据加载。
Kafka通过官网发布了最新版本3.3.1
相关术语编辑 播报
"Broker" Kafka集群包含一个或多个服务器,这种服务器被称为broker
"Topic" 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
"Partition" Partition是物理上的概念,每个Topic包含一个或多个Partition.
"Producer" 负责发布消息到Kafka broker
"Consumer" 消息消费者,向Kafka broker读取消息的客户端。
"Consumer Group" 每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。

Kafka平台几乎不涉及其他技术栈,它的消息系统、持久化存储和缓存用的都是自身的内核,实时和批处理工作在客户端完成,数据集成靠自身的连接器,流处理有自身的流式引擎KSQL,请求/响应机制通过REST代理完成。    市场上的同类产品早先有ActiveMQ和RabbitMQ,在领英将Kafka开源后,市场几乎被垄断。直到阿里基于Kafka研制出了新的Apache顶级项目RocketMQ,并且经过双十一的高压打磨后,Kafka才真正有了市场竞争对手,

标签:linkedin,kafka,Topic,消息,Kafka,Consumer
From: https://www.cnblogs.com/hofmann/p/17310248.html

相关文章

  • kafka在linux系统下设置开机启动
    安装完成kafka后,进入/etc/init.d目录在该目录下创建文件kafka,内容如下:#!/bin/bash#chkconfig:23452090#description:kafka#processname:kafkaexportJAVA_HOME=/usr/java/jdk1.8.0_161#换成自己的实际地址case$1in #kafka换成自己的实际地址start)suroot/us......
  • kafka实践(二):部署Kafka需要衡量的问题
    该博文部分参考《Apachekafka实战》-胡夕的第三章Kafka线上环境部署,关于最佳实践的配置方面的建议,kafka在设计之初就需要考虑以下4个方面的问题:吞吐量/延时消息持久化负载均衡和故障转移伸缩性1.1 吞吐量/延时对于任何一个消息引擎而言,吞吐量都是至关重要的性能指标。那么何为吞......
  • spark stream冷启动处理kafka中积压的数据
    因为首次启动JOB的时候,由于冷启动会造成内存使用太大,为了防止这种情况出现,限制首次处理的数据量spark.streaming.backpressure.enabled=truespark.streaming.backpressure.initialRate=200forexample:#!/bin/shTaskName="funnel"UserName="hadoop"cd`dirname$0`nohupsudo......
  • Spring Boot 整合 Kafka
    Kafka环境搭建kafka安装、配置、启动、测试说明:1.安装:直接官网下载安装包,解压到指定位置即可(kafka依赖的Zookeeper在文件中已包含)下载地址:https://kafka.apache.org/downloads示例版本:kafka_2.13-2.8.0.tgz下载后可本地解压安装,解压位置自选,如D:\Java下解压命令:tar......
  • C# Kafka重置到最新的偏移量,即从指定的Partition订阅消息使用Assign方法
    在使用Kafka的过程中,消费者断掉之后,再次开始消费时,消费者会从断掉时的位置重新开始消费。场景再现:比如昨天消费者晚上断掉了,今天上午我们会发现kafka消费的数据不是最新的,而是昨天晚上的数据,由于数据量比较多,也不会及时的消费到今天上午的数据,这个时候就需要我们对偏移量进行重置......
  • 看完这篇Kafka,你也许就会了Kafka
    Kafka学习文章目录Kafka学习1.Kafka简介1.1Kafka消费模式1.2Kafka的基础架构1.3Kafka的安装和使用2.Kafka高级2.1工作流程2.2文件存储2.3生产者分区策略2.4生产者ISR2.4.1副本数据同步策略2.4.2ISR(同步副本集)2.5生产者ack机制2.6数据一致性问题2.7ExactlyOnce3.......
  • 本地kafka安装以及使用java作为客户端
    1.使用windows下载kafka地址:https://kafka.apache.org/    下载安装后,使用命令行启动: 进入kafka所在目录,执行命令:   #启动zookeeper命令: bin\windows\zookeeper-server-start.bat.\config\zookeeper.properties#启动kafka命令bin\windows\kafka-server......
  • 消息队列kafka及zookeeper机制
    一、zookeeper1、zookeeper简介Zookeeper:开源分布式的服务,为分布式框架提供协调服务的apache项目2、zookeeper特点①、zookper是一个领导者,多个跟随着组成②、集群中有半数以上节点存活,集群正常服务,奇数台最小3台③、全局数据一致,每个server保存一份相同的数据副本,client无论连......
  • chatpgt-flinkcdc从mysql到kafka再到mysql
    flinkcdcmysql到kafkaimportorg.apache.flink.api.common.serialization.SimpleStringSchema;importorg.apache.flink.streaming.api.environment.StreamExecutionEnvironment;importorg.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer;importorg.apach......
  • 大数据经典论文解读 - Kafka - 流批一体架构
    Kafka大数据系统架构是什么样?为什么需要Kafka这样的桥梁作为连接?Kafka的系统设计与传统MQ有什么不同?如何实现分布式?如何动态添加Broker并通知上下游?有了Kafka和Storm后如何搭建流式处理系统?如何处理故障带来地数据不准确?RealtimeDataProcessingatFacebook从应用......