offset

Kafka消费者APi

时光怂恿深爱的人放手 提交于 2020-01-25 02:04:52
Kafka客户端从集群中消费消息,并透明地处理kafka集群中出现故障服务器,透明地调节适应集群中变化的数据分区。也和服务器交互,平衡均衡消费者。 public class KafkaConsumer<K,V> extends Object implements Consumer<K,V> 消费者TCP长连接到broker来拉取消息。故障导致的消费者关闭失败,将会泄露这些连接,消费者不是线程安全的,可以查看更多关于 Multi-threaded(多线程) 处理的细节。 跨版本兼容性 该客户端可以与0.10.0或更新版本的broker集群进行通信。较早的版本可能不支持某些功能。例如, 0.10.0 broker不支持 offsetsForTimes ,因为此功能是在版本 0.10.1 中添加的。 如果你调用broker版本不可用的API时,将报 UnsupportedVersionException 异常。 偏移量和消费者的位置 kafka为分区中的每条消息保存一个 偏移量(offset) ,这个 偏移量 是该分区中一条消息的唯一标示符。也表示消费者在分区的位置。例如,一个位置是5的消费者(说明已经消费了0到4的消息),下一个接收消息的偏移量为5的消息。实际上有两个与消费者相关的“位置”概念: 消费者的位置给出了下一条记录的偏移量。它比消费者在该分区中看到的最大偏移量要大一个。

LIS2MDL磁力计驱动

不问归期 提交于 2020-01-24 23:46:20
之前使用STM32的硬件IIC(基于HAL库)调试了ST的LIS2MDL磁力计,现将写的驱动文件记录下来,并分享给有需要的同学。 /* *********************************************************************************************** * LIS2MDL磁力计驱动 * * 实现LIS2MDL底层驱动 * * Filename : LIS2MDL.c * Version : V1.00 * Programmer(s) : FengDuo * *********************************************************************************************** */ #define LIS2MDL_MOUDLE //文件声明 /* *********************************************************************************************** * INCLUDE FILES ****************************************************************************************

springboot手动提交kafka offset

断了今生、忘了曾经 提交于 2020-01-24 17:13:42
转载自 springboot手动提交kafka offset enable.auto.commit参数设置成了false 但是测试发现enable.auto.commit参数设置成了false,kafka的offset依然提交了(也没有进行人工提交offset)。 查看源码 如果我们enable.auto.commit设置为false,那么就会走标红的if语句。而且下面有个stopInvokerAndCommitManualAcks()方法,看名字就知道是人工提交的意思。那么我们进去stopInvokerAndCommitManualAcks()方法瞅瞅。 如上图所示有个processCommits()方法,那么继续追进去: 单单看标红的方法是不是就知道这方法里面是更新offset和提交offset的方法。那么我们继续追进去: 结论:如果我们把enable.auto.commit参数设置成true。那么offset交给kafka来管理,offset进行默认的提交模式。 enable.auto.commit参数设置成false。那么就是Spring来替为我们做人工提交,从而简化了人工提交的方式。 所以kafka和springboot结合中的enable.auto.commit为false为spring的人工提交模式。enable.auto

Kafka 常用命令总结

为君一笑 提交于 2020-01-24 16:43:11
技术博客: https://github.com/yongxinz/tech-blog 同时,也欢迎关注我的微信公众号 AlwaysBeta ,更多精彩内容等你来。 在 0.9.0.0 之后的 Kafka,出现了几个新变动,一个是在 Server 端增加了 GroupCoordinator 这个角色,另一个较大的变动是将 topic 的 offset 信息由之前存储在 zookeeper 上改为存储到一个特殊的 topic(__consumer_offsets)中。 本文测试版本:kafka_2.11-2.2.0 启动 Kafka 后台常驻方式,带上参数 -daemon ,如: /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 指定 JMX port 端口启动,指定 jmx,可以方便监控 Kafka 集群 JMX_PORT=9991 /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 停止 Kafka /usr/local/kafka/bin/kafka-server-stop.sh Topic 创建 Topic

了解Kafka

荒凉一梦 提交于 2020-01-24 06:55:10
Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输 支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输 同时支持离线数据处理和实时数据处理 Scale out:支持在线水平扩展 Kafka架构 Kafka术语解释 Borker:Kafka集群包含一个或多个服务器,这种服务器被称为broker Topic:每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处) Partition:Parition是物理上的概念,每个Topic包含一个或多个Partition. Producer:负责发布消息到Kafka broker Consumer:消息消费者,向Kafka broker读取消息的客户端。 Consumer Group :每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name

redis 两主两从

℡╲_俬逩灬. 提交于 2020-01-24 03:22:07
准备两台虚拟机, IP分别为192.168.1.17 192.168.1.234 连接xshell,搭建yum。 安装环境。 [root@bogon src]# yum -y install gcc lrzsz vim [root@bogon src]# rz 上传至虚拟机 [root@bogon src]# ls redis-3.2.8.tar.gz 安装Redis。 [root@bogon src]# mkdir -p /data/server [root@bogon src]# tar zxf redis-3.2.8.tar.gz -C /data/server/ [root@bogon src]# cd /data/server/redis-3.2.8/ [root@bogon redis-3.2.8]# make [root@bogon redis-3.2.8]# cd src/ [root@bogon src]# make install 新建目录。 [root@bogon src]# cd .. [root@bogon redis-3.2.8]# mkdir redis_cluster/ [root@bogon redis-3.2.8]# cd redis_cluster/ [root@bogon redis_cluster]# mkdir 6379 6380

Getting wrong values from jquery .offset()

人走茶凉 提交于 2020-01-23 08:01:10
问题 I'm getting wrong values from jquery .offset(), I think it is because of CSS but cannot find the error. This is the HTML element I'm trying to get the offset of: <div id="sedes" class="seccion_in"> </div> This is the CSS .seccion_in { position:relative; overflow: hidden; width: 100%; height: auto; } And this is the jquery: console.log($("#sedes").offset()); And this is the working link: http://ficm.hacemoscodigo.com/asiste/ Thanks for your help. 回答1: IDs MUST BE UNIQUE! You have #sedes

SQL 索引相关

狂风中的少年 提交于 2020-01-22 10:01:00
--索引使用次数① --db_id():返回当前数据库的id号,也可自填参数。 --sys.dm_db_index_usage_stats:返回不同类型索引操作的计数以及上次执行的事件 --sys.indexes:每个表格对象(例如,表、视图或表值函数)的索引或堆都包含一行。 declare @dbid int select @dbid = db_id() select objectname= (indexUsageStats.object_id), indexUsageStats.object_id, indexname=sysIndex.name, sysIndex.index_id , user_seeks, user_scans, user_lookups, user_updates from sys.dm_db_index_usage_stats indexUsageStats,sys.indexes sysIndex where database_id = @dbid and objectproperty(indexUsageStats.object_id,'IsUserTable') = 1 and sysIndex.object_id = indexUsageStats.object_id and sysIndex.index_id =

Kafka-Consumer

大兔子大兔子 提交于 2020-01-21 23:28:21
kafka-consumer 参数配置 以及默认值 参数配置以及默认值 Consumer 一些概念 消费者 Consumer kafka 消费者,消费kafka队列里的消息,可以有多种语言实现, python java scala Go …, consumer group 即是由多个独立消费者组成,消费 Topic 下的消息, 独立消费者 standalong consumer 执行独立的消费。 消费者组 Consuemer group Kafka消费者是 消费组 的一部分,当多个消费者形成一个消费组来消费 主题 时,每个消费者会收到不同 分区 的消息。 consumer group 可能有若干个 consumer 实例 对于同一个 group 而言, topic 的每一条消息只能被发送到该 group 下的一个 consumer 实例上 topic 消息可以发送到 订阅该 topic 的 多个 group kafkaConsuemr 是非线程安全的,与 kafkaProducer 是不同的。 所以无法在多线程中使用同一个 kafkaConsuemr 进行消费。 每个线程维护一个 kafkaonsumer 用户创建多线程消费kafka分区数据, 每个线程中创建一个单独的 kafkaConsumer 实例。 为什么要使用 Consumer Group ? consumer Group

加密与安全

泪湿孤枕 提交于 2020-01-19 17:49:08
一, URL 编码 为什么要使用 URL 编码? 我们都知道Http协议中参数的传输是 "key=value" 这种简直对形式的,如果要传多个参数就需要用 “&” 符号对键值对进行分割。如 "?name1=value1&name2=value2" ,这样在服务端在收到这种字符串的时候,会用 “&” 分割出每一个参数,然后再用 “=” 来分割出参数值。 现在有这样一个问题,如果我的参数值中就包含=或&这种特殊字符的时候该怎么办。 比如说 “name1=value1” ,其中value1的值是 “va&lu=e1” 字符串,那么实际在传输过程中就会变成这样 “name1=va&lu=e1” 。我们的本意是就只有一个键值对,但是服务端会解析成两个键值对,这样就产生了奇异。 如何解决上述问题带来的歧义呢?解决的办法就是对参数进行URL编码? URL编码只是简单的在特殊字符的各个字节前加上%,例如,我们对上述会产生奇异的字符进行URL编码后结果: “name1=va%26lu%3D” ,这样服务端会把紧跟在“%”后的字节当成普通的字节,就是不会把它当成各个参数或键值对的分隔符。 类似于这种 实际操作 public static void main(String[] args) { //url编码 String str="测试"; String urlStr=URLEncoder.encode