
大数据
文章平均质量分 82
大数据
TPH-BETTER
不要低估时间
展开
-
Kafka从入门到精通(十)消息不丢失机制
1. 消息不丢失机制1.1 broker数据不丢失生产者通过分区的leader写入数据后,所有在ISR中follower都会从leader中复制数据,这样,可以确保即使leader崩溃了,其他的follower的数据仍然是可用的。1.2 生产者数据不丢失生产者连接leader写入数据时,可以通过ACK机制来确保数据已经成功写入。ACK机制有三个可选配置1.配置ACK响应要求为 -1或者ALL 时 —— 表示所有的节点都收到数据(leader和follower都接收到数据)2.配置ACK响应要原创 2022-05-21 14:43:55 · 230 阅读 · 0 评论 -
Kafka从入门到精通(九)Kafka生产、消费数据工作流程
1. Kafka生产、消费数据工作流程1.1 Kafka数据写入流程生产者先从 zookeeper 的 "/brokers/topics/主题名/partitions/分区名/state"节点找到该 partition 的leader生产者在ZK中找到该ID找到对应的brokerbroker进程上的leader将消息写入到本地log中follower从leader上拉取消息,写入到本地log,并向leader发送ACKleader接收到所有的ISR中的Replica的A原创 2022-05-20 20:22:05 · 2863 阅读 · 0 评论 -
Kafka从入门到精通(八)Kafka原理
1. 监控工具Kafka-eagle介绍省略2. Kafka原理2.1 分区的leader与follower2.1.1 Leader和Follower在Kafka中,每个topic都可以配置多个分区以及多个副本。每个分区都有一个leader以及0个或者多个follower,在创建topic时,Kafka会将每个分区的leader均匀地分配在每个broker上。我们正常使用kafka是感觉不到leader、follower的存在的。但其实,所有的读写操作都是由leader处理,而所有的followe原创 2022-05-19 19:00:19 · 521 阅读 · 0 评论 -
Kafka从入门到精通(七)分区和副本机制
1. 分区和副本机制1.1 生产者分区写入策略生产者写入消息到topic,Kafka将依据不同的策略将数据分配到不同的分区中轮询分区策略随机分区策略按key分区分配策略自定义分区策略1.1.1 轮询策略默认的策略,也是使用最多的策略,可以最大限度保证所有消息平均分配到一个分区。如果在生产消息时,key为null,则使用轮询算法均衡地分配分区1.1.2 随机策略(不用)随机策略,每次都随机地将消息分配到每个分区。在较早的版本,默认的分区策略就是随机策略,也是为了将消息均衡地写入到原创 2022-05-17 17:20:39 · 374 阅读 · 0 评论 -
Kafka为什么不提供像 MySQL 那样允许副本对外提供读服务?
转自https://blog.youkuaiyun.com/weiaiyisheng_ljj/article/details/102913395Kafka为什么不提供像 MySQL 那样允许副本对外提供读服务?原因一:读数据压力方面:Kafka 的 Partition 分布在多个broker,当 Comsuer 消费数据的Partiton是被分配到不同的Broker上,已经是负载均衡之后的请求。*Mysql读写数据都在主DB上,主DB请求压力太大,所以需要读写分离进行负载均衡。原因二:数据一致性问题:转载 2022-05-17 16:49:45 · 304 阅读 · 0 评论 -
Kafka从入门到精通(六)Kafka生产者幂等性与事务
7 Kafka生产者幂等性与事务7.1 幂等性7.1.1 简介就是执行多次操作与执行一次操作的影响是一样的。**举例:**如果,某个系统是不具备幂等性的,如果用户重复提交了某个表格,就可能会造成不良影响。例如:用户在浏览器上点击了多次提交订单按钮,会在后台生成多个一模一样的订单。7.1.2 Kafka生产者幂等性在生产者生产消息时,如果出现retry时,有可能会一条消息被发送了多次,如果Kafka不具备幂等性的,就有可能会在partition中保存多条一模一样的消息。7.1.3 配置幂等性原创 2022-05-16 21:06:07 · 936 阅读 · 0 评论 -
Kafka从入门到精通(五)架构
架构6.1 Kafka重要概念6.1.1 brokerKafka服务器进程,生产者、消费者都要连接broker一个Kafka的集群通常由多个broker组成,这样才能实现负载均衡、以及容错broker是无状态(Sateless)的,它们是通过ZooKeeper来维护集群状态一个Kafka的broker每秒可以处理数十万次读写,每个broker都可以处理TB消息而不影响性能6.1.2 zookeeperZK用来管理和协调broker,并且存储了Kafka的元数据(例如:有多少top原创 2022-05-16 12:39:30 · 170 阅读 · 0 评论 -
kafka彻底删除topic
转自https://www.cnblogs.com/xiaodf/p/10710136.htmlKafka如何彻底删除topic及数据前言:删除kafka topic及其数据,严格来说并不是很难的操作。但是,往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者,发现都会偶然出现无法彻底删除kafka的情况。本文总结多个删除kafka topic的应用场景,总结一套删除kafka topic的标准操作方法。step1:如果需要被删除topic 此时正在被程序 produce和consum转载 2022-05-16 10:35:25 · 4766 阅读 · 0 评论 -
Kafka从入门到精通(四)Java编程操作Kafka
4. Kafka基准测试省略5. Java编程操作Kafka5.1 同步生产消息到Kafka中5.1.1 需求接下来,我们将编写Java程序,将1-100的数字消息写入到Kafka中。5.1.2 准备工作导入的依赖 <!-- kafka客户端工具 --> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients原创 2022-05-15 15:26:13 · 350 阅读 · 0 评论 -
Kafka从入门到精通(三)基础操作
3. 基础操作3.1 创建topic创建一个topic(主题)。Kafka中所有的消息都是保存在主题中,要生产消息到Kafka,首先必须要有一个确定的主题。因为已经在/etc/profile中已经export该命令所在的目录,因此在任意位置都应该允许执行的。# 创建名为test的主题 指定存储的kafka集群kafka-topics.sh --create --bootstrap-server node1.itcast.cn:2181 --replication-factor 1 --pa原创 2022-05-14 15:34:27 · 229 阅读 · 0 评论 -
Kafka从入门到精通(二)环境搭建
2. 环境搭建2.1 搭建Kafka集群1、将Kafka的安装包上传到虚拟机,并解压cd /export/software/tar -xvzf kafka_2.12-2.4.1.tgz -C ../server/cd /export/server/kafka_2.12-2.4.1/2、修改 server.propertiescd /export/server/kafka_2.12-2.4.1/configvim server.properties# 指定broker的idbroker.原创 2022-05-09 20:44:23 · 167 阅读 · 0 评论 -
Kafka从入门到精通(一)简介
1. 简介1.1 消息队列简介1.1.1 什么是消息队列消息队列,英文名:Message Queue,经常缩写为MQ。从字面上来理解,消息队列是一种用来存储消息的队列。来看一下下面的代码:// 1. 创建一个保存字符串的队列Queue<String> stringQueue = new LinkedList<String>();// 2. 往消息队列中放入消息stringQueue.offer("hello");// 3. 从消息队列中取出消息并打印System原创 2022-05-09 17:59:41 · 187 阅读 · 0 评论