kafka
文章平均质量分 75
RB_VER
这个作者很懒,什么都没留下…
展开
-
Kafka的监控
在开发工作中,消费kafka集群中的消息时,数据的变动是我们关心的,当业务并不复杂的前提下,我们可以使用kafka提供的命令工具,配合zookeeper客户端工具,可以很方便的完成工作。在实现Kafka监控系统的过程中,首先我们要知道监控的数据从哪来,kafka自身提供的监控指标都可以通过JMX(Java Manager Extension)来进行获取。在使用JMX之前首先要开启JMX的功能。JConsole在开启JMX之后最简单的监控指标的方式就是JConsole,可以通过JConsole连接serv原创 2022-06-02 10:59:07 · 877 阅读 · 0 评论 -
Kafka的集群管理
集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密协作完成计算工作。在某种意义上,它们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其他的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和可靠性。集群的特点可扩展性:集群的性能不限制于单一的服务实体,新的服务实体可以动态的添加到集群,从而增强集群的性能。高可用性:集群当其中一个节点发生故障时,这台节点上面所运行的应用程序将在另一台节点被自动接管,消除单点故障对于增强数据可用性原创 2022-05-31 16:07:19 · 328 阅读 · 0 评论 -
Kafka的高级应用
命令行工具消费组管理查看消费组:./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list查看消费组详细信息:./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group groupid查看消费组当前的状态:./kafka-consumer-groups.sh --bootstrap-server localhost:原创 2022-05-31 15:04:50 · 378 阅读 · 0 评论 -
Kafka的稳定性
Kafka的消息传输保障机制非常直观。当producer向broker发送消息时,一旦这条消息被commit,由于副本机制(replication)的存在,它就不会丢失。但是如果producer发送数据给broker后,遇到网络问题而造成通信中断,那producer就无法判断该条消息是否已经提交。虽然kafka无法确定网络故障期间发生了什么,但是producer可以retry多次,确保消息已经正确传输到broker中,所以目前kafka实现的是at least once。幂等性所谓幂等性,就是对接口的多原创 2022-05-27 11:09:34 · 479 阅读 · 0 评论 -
Kafka的存储
存储结构概述每一个partition相当于一个巨型文件被平均分配到多个大小相等segment数据文件里。但每一个段segment file消息数量不一定相等,这样的特性方便old segment file高速被删除。每一个partition仅仅需要支持顺序读写即可。segment文件生命周期由服务端配置参数决定。partition中segment文件存储结构segment由index file和data file组成,后缀“.index”和“.log”分别表示为segment索引文件、数原创 2022-05-26 15:11:39 · 173 阅读 · 0 评论 -
Kafka的分区
Kafka可以将主题划分为多个分区(Partition),会根据分区规则选择把消息存储到哪个分区中,只要分区规则设置合理的话,那么所有的消息将会均匀的分布到不同的分区中,这样就实现了负载均衡和水平扩展。另外,多个订阅者可以从一个或多个分区中同时消费数据,以支持海量数据处理能力。副本机制由于Producer和Consumer都只会与leader角色的分区副本相连,所以Kafka需要以集群的组织形式提供主题中的消息高可用。Kafka支持主从复制,所以消息具备高可用和持久性。一个分区可以有多个副本,这些副本原创 2022-05-26 09:49:57 · 1445 阅读 · 0 评论 -
Kafka的主题
主题管理创建主题使用命令:./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic mytopic1 --partition 2 --replication-factor 1# --replication-factor 用于设置主题副本数,每个副本分布在不同节点,不能超过总节点数。查看主题# 查看所有主题./kafka-topics.sh --list --bootstrap-server localhost:9原创 2022-05-24 16:47:29 · 434 阅读 · 0 评论 -
Kafka的消费者详解
消费者和消费组Kafka消费者是消费组的一部分,当多个消费者形成一个消费组来消费主题时,每个消费者会收到不同分区的消息。假设有一个T1主题,该主题有4个分区;同时我们有一个消费组G1,这个消费组只有一个消费...原创 2022-05-24 15:43:23 · 741 阅读 · 0 评论 -
Kafka的生产者详解
消息发送Kafka Java客户端数据生产流程发送类型同步发送://通过send()发送完消息后返回一个Future对象,然后调用Future对象的get()方法等待Kafka响应。//如果kafka正常响应,返回一个RecordMetadata对象,该对象存储消息的偏移量。//如果kafka发生错误,无法正常响应,就会抛出异常,便可以进行异常处理。producer.send(record).get();异步发送:producer.send(record,new Callbac原创 2022-05-23 17:21:03 · 215 阅读 · 0 评论 -
Kafka服务端常用参数配置
server.propertieszookeeper.connect# 指明zookeeper主机地址,如果zookeeper是集群则以逗号隔开listeners# 监听列表,broker对外提供服务时绑定的IP和端口。# 多个逗号隔开,如果监听器名称不是一个安全的协议,# listener.security.protocol.map也必须设置。# 主机名称设置0.0.0.0绑定所有的端口,主机名称为空则绑定默认的接口。broker.id# broker的唯一标识符,如果不配置则自动生原创 2022-05-23 15:30:06 · 187 阅读 · 0 评论 -
Kafka中消息的生产与消费示例
在测试功能前需要先安装配置JDK、Zookeeper、Kafka。Kafka测试消息生产与消费命令形式首先创建一个主题:./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic mytopic1 --partitions 2 --replication-factor 1# Kafka开发团队重写了ZooKeeper的Quorum控制器代码并嵌入到Kafka中。所以从v2.8版本开始,Kafka不再依赖ZooKe.原创 2022-05-23 15:16:57 · 487 阅读 · 0 评论 -
Kafka的概念详解
Producer生产者即数据的发布者,该角色将消息发布到Kafka的topic中。broker接收到生产者发送的消息后,broker将该消息追加到当前用于追加数据的segment文件中。生产者发送的消息,存储到一个partition中,生产者也可以指定数据存储的partition。Consumer消费者可以从broker中读取数据。消费者可以消费多个topic中的数据。Topic在Kafka中,使用一个类别属性来划分数据的所属类。划分数据的这个类称为topic。如果把Kafka看做为一个数据库,.原创 2022-05-23 10:39:50 · 995 阅读 · 0 评论 -
Kafka概述
定义Kafka传统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。Kafka最新定义:Kafka是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。消息队列目前企业中比较常见的消息队列产品主要有Kafka、ActiveMQ、RabbitMQ、Rock原创 2022-05-19 11:38:23 · 329 阅读 · 0 评论