
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
spring cache 集成redis是基于spring-data-redis组件开发的一直通过注解就能轻松实现redis缓存操作的框架。但原生的spring cache不支持缓存过期,默认都是没有过期时间的,以下实现自定义缓存过期时间。spring-data-redis版本是1.8.11,所以需要使用此版本或者兼容此版本的其他版本。先看spring的RedisCacheManager类代...
一天发现线上环境大量报kafka异常:CommitFailedExceptionorg.apache.kafka.clients.consumer.CommitFailedException:Commit cannot be completed since the group has already rebalanced and assigned the partitions to another
案例一:有一张表A,先更新,如果影响行数为0,则执行INSERT插入数据。很常见的场景,在生产上也跑了很久,没有出现什么问题。但是有一次在测试环境做压测时居然出现了死锁,Deadlock found when trying to get lock; try restarting transaction因为对mysql锁不熟悉,为什么insert也会死锁,不是一般在update的时候会死锁吗?...
介绍简单的说,就是在spring应用启动过程,一些被@Import注解的类(这些类都实现了ImportBeanDefinitionRegistrar接口)会执行ImportBeanDefinitionRegistrar的registerBeanDefinitions方法,然后生成BeanDefinition对象,并最终注册到BeanDefinitionRegistry中,为后续实例化bean做准备
auto.offset.reset设置为earliestspring:kafka:bootstrap-servers: 192.168.?.x:9092consumer:auto-offset-reset: earliestenable-auto-commit: false假设开始已经有一个消费者组:hdGroup1,已经提交了offset,情况如下:接着新增一个消费者组hdGroup3,会从第一
前言redis由于它是一种基于内存操作的高性能分布式数据库,很受大众喜爱,经常出现项目中,可以说是开发必备技能。
前言kafka消息队列在项目开发中经常被使用,尤其是在大数据领域经常见到它的身影。spring集成了kafka方便我们使用,只要引入spring-kafka即可。问题描述有一天我们后台版本发布,虽然改动很大,但是大家还是自信满满,因为经过了好几轮测试验证都没有问题,但是很不幸结果还是出现问题了,上线后发现kafka消费线程只拉取了一次就莫名其妙停止了(kafka消费者是不同的从服务端poll拉取消
我们都知道kafka有topic的概念,为了能够更好的支持水平扩容,topic又分了很多的Partition . 消费者负责消费Partition中的消息,一个Partition只能被一个消费者消费,但是一个消费者可以消费多个partition .所以提升消费能力可以开多几个消费者来消费partition,从而提高系统性能。spring.kafka.listener.concurrency就是sp
kafka每个partition都有自己的offset,消费端处理完要向kafka服务器提交offset,基于spring-kafka组件有下面几种AckMode提交模式:模式描述MANUALpoll()拉取一批消息,在处理完业务手动调用Acknowledgment.acknowledge()方法先放到map缓存,在下一次poll之前从缓存拿出来批量提交MANUAL_IMMEDIATE每处理完业务







