
kafka
大树叶
宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。
展开
-
KafkaListener动态指定多个topic
KafkaListener动态指定多个topic原创 2022-11-04 17:53:47 · 858 阅读 · 0 评论 -
centos 上面 kafka systemctl 服务化
vim /etc/systemd/system/kafka.service[Unit]Description=Apache Kafka server (broker)After=network.target[Service]Type=simpleEnvironment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/bin/java/:/usr/java/jdk1.8.0_151/jre/bin"...原创 2020-06-30 17:40:03 · 432 阅读 · 0 评论 -
Kafka生产者消费者模型
一、Kafka回顾1、AMQP协议 消息队列中消息交互规范,多数分布式消息中间件基于该协议进行消息传输2、Broker 对于kafka,将生产者发送的消息,动态的添加到磁盘,一个Broker等同于一个kafka应用实例,用于存放消息队列3、主题:分区:消息 一个分区(Patition)等同于一个消息队列,存放n条消息;一个主题(Topic)包括多个分...原创 2018-08-23 00:02:25 · 5683 阅读 · 0 评论 -
【推荐】kafka系列的精彩分析文章
kafka系列的精彩分析文章,有一定的深度,见下面的博客。https://blog.youkuaiyun.com/chunlongyu/article/category/6638499转载 2018-07-07 17:41:01 · 477 阅读 · 0 评论 -
【推荐】Kafka中关于 消息的“顺序消费”讨论
在说到消息中间件的时候,我们通常都会谈到一个特性:消息的顺序消费问题。这个问题看起来很简单:Producer发送消息1, 2, 3。。。 Consumer按1, 2, 3。。。顺序消费。但实际情况却是:无论RocketMQ,还是Kafka,缺省都不保证消息的严格有序消费!这个特性看起来很简单,但为什么缺省他们都不保证呢?“严格的顺序消费”有多么困难下面就从3个方面来分析一下,对于一个消息中间件来说...转载 2018-07-07 17:28:53 · 15200 阅读 · 1 评论 -
nginx做转发时,带'_'的header内容丢失
今天在线上切换系统时,发现后端微服务报错,说xx header的数值为空,也就是没有传。查看browser信息,发现前端页面系统发出时是带了这个header (user_id)的。也是就header user_id达到后端微服务时没有了。那么代码没有改动,怎么平白无故会丢失头信息? 于是想到两个环境的不同之处在于线上是通过nginx做的代理转发,会不会是nginx搞的鬼?于是搜索“nginx re...原创 2018-07-10 19:56:13 · 12630 阅读 · 2 评论 -
分布式消息队列RocketMQ--事务消息--解决分布式事务的最佳实践
该文虽然以rocketMQ为例子来讨论如何解决分布式事务,但是它的思路却不仅仅局限于rocketMQ,可以推广到别的mq上面去。故把该文转帖如下说到分布式事务,就会谈到那个经典的”账号转账”问题:2个账号,分布处于2个不同的DB,或者说2个不同的子系统里面,A要扣钱,B要加钱,如何保证原子性?一般的思路都是通过消息中间件来实现“最终一致性”:A系统扣钱,然后发条消息给中间件,B系统接收此消息,进...转载 2018-07-08 23:10:03 · 1423 阅读 · 0 评论 -
Kafka使用入门教程
转载自http://www.linuxidc.com/Linux/2014-07/104470.htm介绍Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语:Kafka将消息以topic为单位进行归纳。将向Kafka topic发布消息的程序成为producers.将预订topic...转载 2018-07-01 01:32:06 · 279 阅读 · 0 评论 -
kafka精粹总结文集
kafka总结文章http://www.jasongj.com/tags/Kafka/Kafka是如何选择分区Leader的 http://f.dataguru.cn/thread-730782-1-1.htmlkafka partition(分区)与 grouphttps://www.cnblogs.com/liuwei6/p/6900686.htmlkey为null时Kafka会将消息发送给哪...原创 2018-06-30 20:26:31 · 546 阅读 · 0 评论 -
DRUID: kafka-indexing-service如何使用
原文在这里:https://blog.youkuaiyun.com/sidongxue2/article/details/73244262原创 2018-04-28 21:04:50 · 604 阅读 · 0 评论 -
centos7 安装 kafka_2.11-1.0.0
系统环境1、操作系统:64位CentOS Linux release 7.4.x (Core)2、jdk版本:1.8.0_1213、zookeeper版本:zookeeper-3.4.9.tar.gz4、三台服务器:192.168.1.91; 192.168.1.92; 192.168.1.93;5. kafka version: kafka_2.11-1.0.0访问网址:http://kafka...原创 2018-05-07 10:24:45 · 2029 阅读 · 0 评论 -
分布式开放消息系统(RocketMQ)的原理与实践
分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:消息的顺序问题消息的重复问题RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的?关键特性以及其实现原理一、顺序消息消息有序指的是可以按照消息的发送顺序来消费。例如:一笔订单...原创 2018-07-07 18:40:31 · 211 阅读 · 0 评论 -
如何确定Kafka里面的分区和topics?
How to choose the number of topics/partitions in a Kafka cluster? read frome here https://www.confluent.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/原创 2018-07-07 18:56:06 · 1118 阅读 · 0 评论 -
如何在Spring Boot v2.x 中 操作kafka (kafka v1.1.0)
概述本文采用的是 spring boot 官方文档说的集成方式,具体见 Apache Kafka Support.思路是通过在 spring boot application.properties 中配置 生产者和消费者的基本信息,然后spring boot 启动后会创建 KafkaTemplate 对象,这个对象可以用来发送消息到Kafka,然后用 @KafkaListener 注解来消...原创 2018-07-14 17:44:15 · 3190 阅读 · 0 评论 -
Kafka KSQL实战
https://my.oschina.net/guol/blog/2236817原创 2019-04-04 20:22:31 · 1441 阅读 · 0 评论 -
Kafka 如何读取offset topic内容 (v0.11.0.0前和以后)
众所周知,由于Zookeeper并不适合大批量的频繁写入操作,新版Kafka已推荐将consumer的位移信息保存在Kafka内部的topic中,即__consumer_offsets topic,并且默认提供了kafka_consumer_groups.sh脚本供用户查看consumer信息。更详细的信息在:http://www.cnblogs.com/huxi2b/p/6061110.ht...转载 2018-12-20 17:58:41 · 1132 阅读 · 0 评论 -
Kafka性能测试分析
一、测试环境准备Cpu 内存 硬盘Intel(R) Xeon(R) CPU E5520 @ 2.27GHz 32G 6TKafka集群,服务器个数:3台 采用CMS垃圾回收JVM运行参数-Xmx1G -Xms1G -server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadin...原创 2018-10-24 00:51:27 · 1790 阅读 · 0 评论 -
Kafka auto.offset.reset值详解
昨天在写一个java消费kafka数据的实例,明明设置auto.offset.reset为earliest,但还是不从头开始消费,官网给出的含义太抽象了。 earliest: automatically reset the offset to the earliest offset,自动将偏移量置为最早的。难道不是topic中各分区的开始?结果还真不是,具体含义如下:auto.offset.r...转载 2018-09-26 09:51:13 · 911 阅读 · 0 评论 -
Java 普通 kafka producer API, v0.8.2 是一个分水岭
kafka v0.8.2是一个分水岭,对于kafka v0.8.x以前的kafka producer API,用如下的import头文件//for kafka client before v0.8.2import kafka.javaapi.producer.ProducerData;import kafka.producer.ProducerConfig;import kafka.j...原创 2018-09-11 11:00:51 · 1300 阅读 · 0 评论 -
基于普通java和基于spring boot的 Java kafka producer and client demo
基于普通java和基于spring boot的kafka producer and client demo (kafka client v0.8.2以后)的总结如下:1) 基于普通java的kafka producer and client demo (kafka client v0.8.2以后) 1.1 例子说明: https://blog.youkuaiyun.com/u012501054/a...原创 2018-09-11 11:21:50 · 897 阅读 · 0 评论 -
kafka 分区 leader 选举机制原理
afka在所有broker中选出一个controller,所有Partition的Leader选举都由controller决定。controller会将Leader的改变直接通过RPC的方式(比Zookeeper Queue的方式更高效)通知需为此作出响应的Broker。同时controller也负责增删Topic以及Replica的重新分配。当有broker fari over contro...转载 2018-09-01 16:39:41 · 10892 阅读 · 0 评论 -
druid中 kafka-indexing-service 的用法
kafka-indexing-service官网下载地址: http://www.mvnjar.com/io.druid.extensions/druid-kafka-indexing-service/jar.html这个index service 可以解决transquity的一些问题;官方的地址在: http://druid.io/docs/latest/development/exten...原创 2018-03-23 00:27:22 · 1738 阅读 · 0 评论 -
Kafka设计解析分析 - Kafka HA高可用
问题导读1.如何创建/删除Topic?2.Broker响应请求包含哪些流程?3.LeaderAndIsrRequest是如何响应的?本文转发原文链接 http://www.jasongj.com/2015/06/08/KafkaColumn3摘要 本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Broker failover,Controller fail...转载 2018-03-20 10:45:38 · 716 阅读 · 0 评论 -
推荐 kafka 简介、使用场景、设计原理、主要配置及集群搭建
问题导读:1.zookeeper在kafka的作用是什么?2.kafka中几乎不允许对消息进行“随机读写”的原因是什么?3.kafka集群consumer和producer状态信息是如何保存的?4.partitions设计的目的的根本原因是什么? 一、入门 1、简介 Kafka is a distr转载 2017-06-04 20:22:34 · 549 阅读 · 0 评论 -
Kafka 实现的几个技术细节讨论
http://www.cnblogs.com/mengyou0304/p/4836555.html关于Kafka大方向上的介绍已经很多了,infoq上面不少不错的资源http://www.oschina.net/translate/kafka-design?cmp&p=1#http://www.infoq.com/cn/articles/kafka-analysis-p转载 2017-11-01 10:50:29 · 889 阅读 · 0 评论 -
推荐: Kafka详细原理总结
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于转载 2017-10-31 16:34:46 · 7778 阅读 · 0 评论 -
kafka学习心得
一、为什么需要消息系统1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。3.扩转载 2017-11-01 01:18:46 · 965 阅读 · 0 评论 -
Zookeeper在kafka中的应用
1、Broker注册Broker是分布式部署并且相互之间相互独立,但是需要有一个注册系统能够将整个集群中的Broker管理起来,此时就使用到了Zookeeper。在Zookeeper上会有一个专门用来进行Broker服务器列表记录的节点:/brokers/ids每个Broker在启动时,都会到Zookeeper上进行注册,即到/brokers/ids下创建属于自己的节点,如/brokers/转载 2017-10-31 23:11:15 · 1731 阅读 · 0 评论 -
apache kafka系列之在zookeeper中存储结构
http://blog.youkuaiyun.com/lizhitao/article/details/237446751.topic注册信息/brokers/topics/[topic] :存储某个topic的partitions所有分配信息Schema:{ "version": "版本编号目前固定为数字1",转载 2017-10-31 23:38:19 · 267 阅读 · 0 评论 -
Kafka 0.11新版本发布:主要的功能变更介绍:支持 EOS, 事务和幂等producer
Apache Kafka近日推出0.11版本。这是一个里程碑式的大版本,特别是Kafka从这个版本开始支持“exactly-once”语义(下称EOS, exactly-once semantics)。本文简要介绍一下0.11版本主要的功能变更。一、修改unclean.leader.election.enabled默认值 Kafka社区终于下定决心要把这个参数的默认值改成fa原创 2017-11-06 19:07:47 · 2348 阅读 · 0 评论 -
kafka与Spring的集成
kafka与Spring的集成准备工作kafka版本:kafka_2.10-0.10.1.0spring版本:spring4.3配置文件pom文件配置(也可以直接下载jar包)Kafka和spring集成的支持类库,spring和kafka通信监听1 dependency>2 groupId>org.springframework.integr转载 2017-07-15 17:15:11 · 3504 阅读 · 4 评论 -
Kafka源码中的Producer Record定义
1.ProducerRecord 含义: 发送给Kafka Broker的key/value 值对2.内部数据结构:-- Topic (名字)-- PartitionID ( 可选)-- Key[( 可选 )-- Value3.生产者记录(简称PR)的发送逻辑: 若指定Partition ID,则PR被发送至指定P原创 2017-07-15 16:56:46 · 2143 阅读 · 0 评论 -
Kafka 参数列表和解释
一、Kafka 参数列表和解释### Broker ###唯一标识在集群中的ID,要求是正数。broker.id=0#服务端口,默认9092port=9092#监听地址,不设为所有地址host.name=debugo01 # 处理网络请求的最大线程数num.network.threads=2# 处理磁盘I/O的原创 2017-11-02 16:23:09 · 1438 阅读 · 0 评论 -
Kafka 配置参数(非常好的总结)
Kafka为broker,producer和consumer提供了很多的配置参数。 了解并理解这些配置参数对于我们使用kafka是非常重要的。本文列出了一些重要的配置参数。官方的文档 Configuration比较老了,很多参数有所变动, 有些名字也有所改变。我在整理的过程中根据0.8.2的代码也做了修正。Boker配置参数下表列出了Boker的重要的配置参数, 更转载 2017-11-02 16:24:32 · 2004 阅读 · 0 评论 -
推荐: Kafka 配置参数
Kafka为broker,producer和consumer提供了很多的配置参数。 了解并理解这些配置参数对于我们使用kafka是非常重要的。本文列出了一些重要的配置参数。官方的文档 Configuration比较老了,很多参数有所变动, 有些名字也有所改变。我在整理的过程中根据0.8.2的代码也做了修正。Boker配置参数下表列出了Boker的重要的配置参数, 更转载 2017-11-02 16:33:11 · 743 阅读 · 0 评论 -
推荐 apache kafka技术分享系列(目录索引):
下面这个链接讲kafka专题比较深入,可以去看看李开涛的csdn目录:http://blog.youkuaiyun.com/lizhitao/article/details/39499283转载 2018-03-02 19:48:17 · 799 阅读 · 0 评论 -
kafka 命令列表
kafka 基于0.8.0版本的命令用法:查看topic分布情况kafka-list-topic.sh# bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (列出所有topic的分区情况)# bin/kafka-list-topic.sh --zookeeper 192.168.197原创 2018-02-07 20:05:11 · 403 阅读 · 0 评论 -
Kafka消费组(consumer group)
一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少。最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时机成熟了,于是写下这篇文章讨论并总结一下新版本consumer的些许设计理念,希望能把consumer这点事说清楚,从而对广大使用者有所帮助。在开始之前,我想花一点时间先来明确一些概念和术语,转载 2018-01-31 11:24:57 · 2844 阅读 · 0 评论 -
Kafka集群扩展以及重新分布分区
转自:Kafka集群扩展以及重新分布分区我们往已经部署好的Kafka集群里面添加机器是最正常不过的需求,而且添加起来非常地方便,我们需要做的事是从已经部署好的Kafka节点中复制相应的配置文件,然后把里面的broker id修改成全局唯一的,最后启动这个节点即可将它加入到现有Kafka集群中。 但是问题来了,新添加的Kafka节点并不会自动地分配数据,所以无法分担集群的负载转载 2018-01-02 00:12:04 · 1794 阅读 · 0 评论 -
推荐: Kafka深度解析
背景介绍Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输同时支持转载 2018-01-01 23:46:06 · 439 阅读 · 0 评论