java高频的获取kafka数据,导致数据库数据一致在高频读写,为了降低数据库的高频连接搞高频读写,可以将数据堆积一段时间之后,进行插入数据库操作。

主要采用了队列和缓存,将获取到的数据放入java队列中,利用缓存进行延时判断。

 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.0.M2</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>26.0-jre</version></dependency>
    @KafkaListener(topics = {"jyz_xxxxxxx"})public void jyz_xxxxxxx(ConsumerRecord<?, ?> record) throws InterruptedException {Optional<?> kafkaMessage = Optional.ofNullable(record.value());String  SQL=null;if (kafkaMessage.isPresent()) {Object message = kafkaMessage.get();blockingQueue.offer(message.toString());long startTime= System.currentTimeMillis();long endTime = 0;try {endTime = fifoCache.get("endTime");} catch (Exception e) {endTime = System.currentTimeMillis();fifoCache.put("endTime",endTime);}if(startTime-endTime>=2000){List<String> list = new ArrayList<>();// 转移阻塞队列数据到普通的ListblockingQueue.drainTo(list);SQL = String.join("", list);System.out.println("SQL:"+SQL);endTime = System.currentTimeMillis();fifoCache.put("endTime",endTime);}}}

java消费kafka数据之后,进行堆积之后在插入数据库相关推荐

  1. Storm 消费Kafka数据及相关异常解决

    Storm 消费Kafka数据及相关异常解决 问题 KafkaTopoDemo类 bolt类 问题 storm报错:Exception in thread "main" java. ...

  2. Java网络爬虫--一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库

    一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库 目录 一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库 第一步:创建项目,搭建项目结构 p ...

  3. java查看kafka数据量_Java kafka监控 topic的数据量count情况,每个topic的offset,

    Java使用kafka的API来监控kafka的某些topic的数据量增量,offset,定时查总量之后,然后计算差值,然后就可以算单位间隔的每个topic的增量,kafka监控一般都是监控的吞吐量, ...

  4. sparkstreaming监听hdfs目录_Spark Streaming消费Kafka数据的两种方案

    下午的时候翻微信看到大家在讨论Spark消费Kafka的方式,官网中就有答案,只不过是英文的,当然很多博客也都做了介绍,正好我的收藏夹中有一篇文章供大家参考.文章写的通俗易懂,搭配代码,供大家参考. ...

  5. kafka 的pom文件_Flink 消费 Kafka 数据

    kafka核心概念: Kafka 是一个消息队列,生产者向消息队列中写入数据,消费者从队列中获取数据并进行消费.可以认为一个 Topic 就是一个队列,每个 Topic 又会被分成多个 Partiti ...

  6. SparkStreaming安全消费Kafka数据

    前言 在这之前做SparkStreaming连接Kafka,我会这么写: val sparkConf = new SparkConf().setAppName("Spark2Kafka&qu ...

  7. kafka partition分配_logstash消费kafka数据,partition分配不均衡

    原因已经查明 消费kafka的时候,如果使用topics_pattern的方式,默认partition_assignment_strategy为Range,应该使用 partition_assignm ...

  8. Flink Connectors之消费Kafka数据相关参数以及API说明

    1-参数设置 以下参数都必须/建议设置上 1.订阅的主题 2.反序列化规则 3.消费者属性-集群地址 4.消费者属性-消费者组id(如果不设置,会有默认的,但是默认的不方便管理) 5.消费者属性-of ...

  9. python kafka消费实时数据,python生产和消费kafka数据

    安装kafka-python pip install kafka-python 生产者 from kafka import KafkaProducer # 有时候导入包会报错,使用pip uninst ...

最新文章

  1. php函数substr_replace中文乱码的替代解决方法
  2. 开发安全的 API 所需要核对的清单
  3. Linq入门演练---(1)基本用法-分组,排序,内连接
  4. C#中使用MD5对用户密码加密与解密
  5. 必备的Linux基础命令
  6. 只腐蚀毛刺 腐蚀算法_去毛刺更省时省力的方式方法大全!
  7. 【和60】软件即服务的三重境界
  8. which与whereis区别
  9. 鸿蒙对比ios流畅对比,鸿蒙OS对比iOS,华为再次“超越”,流畅度大幅领先苹果!...
  10. 总是收到 i/o timeout 报错,这里有 HTTP 的避坑指南!
  11. uniapp 日期插件_日期时间选择器
  12. 基于opencv库把图像灰度化,二值化
  13. redis命令之哈希表类型lpush命令用法详情
  14. (一)基于Multisim的超外差接收系统:本地振荡器的设计
  15. HTML和CSS总结(基础版)
  16. 删除二叉树节点完整c语言程序以及例子,C语言C++实现二叉树构造与查找删除节点.doc...
  17. RPL(10):RFC6550翻译(10)---分组转发和环路避免/检测
  18. 2020.11.03 使用OpenCV进行图像上采样、降采样以及高斯不同操作【OpenCV C++】
  19. latex调整毕业论文目录中章节之间的间距
  20. 空白符号筛选测试真正能用的空白格符号直接复制即可

热门文章

  1. Kerberos认证代码分析Can't get Kerberos realm
  2. Elasticsearch技术解析与实战(一)基础概念及环境搭建
  3. Python 进阶之路 (十) 再立Flag, 社区最全的itertools深度解析(中)
  4. 网站福音 如何免费获得HTTPS认证服务?
  5. 免费当天澳洲运营商全天下载量达1841TB
  6. 2015-03-12---外观模式,建造者模式(附代码),观察者模式(附代码),boost库应用
  7. TCP建立连接三次握手及其断开过程
  8. 阿里巴巴公司DBA笔试题
  9. PHP 入门 - 1.语言基础
  10. 实时OLAP分析利器Druid介绍