层级时间轮的研究与实现
阅读更多
ElasticSearch7.2 X-pack安全认证
前言 ElasticSearch于6.8及7.1版本开始提供免费的x-pack, 并已默认集成,只需通过简单的配置即可开启。 官方链接,主要包含以下特性: TLS 功能,可对通信进行加密 文件和原生 Realm,可用于创建和管理用户 基于角色的访问控制,可用于控制用户对集群 API 和索引的访问权 ...
阅读更多
[译]Kafka Consumer介绍:使用新的0.9版本kafka消费者
原文地址:Introducing the Kafka Consumer: Getting Started with the New Apache Kafka 0.9 Consumer Client Kafka创建之初,自带了用Scala编写的生产者和消费者客户端,随着时间的推移,我们开始认识到这 ...
阅读更多
java 8日期类学习
最近开发过程中遇到了很多时间类处理,由于对Calender类不熟悉,我说这个类设计的烂,谁赞成,谁反对?也被推荐过joda-time类库,鉴于项目用的都是java 8了,是时候了解一下java.time包下的类了 导言 java 8 日期类的优势 用完java 8的API之后,只有一个感觉:爽, ...
阅读更多
Guava实现大数据量sql分段批量插入
最近做一个数据拉取的需求,由于有上万的数据量,想到分段批量插入数据库,经同事推荐,Guava有好的工具类,特此记录并分享给大家 代码实现 一开始在网上搜索,基本用到的都是List接口的sublist方法,第一版自己实现了一遍,功能没问题,但很啰嗦,下面介绍guava的partition方法 12 ...
阅读更多
Spring boot实践之自定义starter
为何要自定义starter,使用场景是什么,又该如何去自定义呢?本文围绕这几个方面展示自定义starter的过程 使用场景 在Spring-Boot实践系列文章中,对日常开发中的许多功能做了统一封装,那么在分布式开发的组织架构下,开发组内个人单独使用是没有意义的,应该将其封装成一个SDK,发布到 ...
阅读更多
Spring boot实践之多数据源最佳实践
多数据源主要用于mysql主从,多库等场景,笔者初始接触时也在网上找了很多资料如何配置,但做法百花齐放,有很多用到了ThreadLocal,注解,数据源路由等技术,最终选择了一个简单,易用,易理解的方式:每一个数据源只扫描自己的mapper 思路 基于以上思想,只需要以下步骤: 配置文件中采用 ...
阅读更多
Spring-boot实践之请求日志切面
记录请求日志切面的写法,和别人写的相比并无特殊之处 思路 日志信息 将controller中方法参数作为请求参数,返回值作为响应,这样做的前提是请求参数和返回值都已使用javabean封装,不一定适合每个人 耗时统计 tomcat为每个请求分配一个线程,自然想到使用ThreadLocal保存计时 ...
阅读更多
kafka消费者-心跳流程全解析
背景 Consumer需要和Coordinator保持心跳,来证明当前消费者线程存活,有消费消息的能力,但心跳又不止这么简单,它也是Coordinator下发rebalance请求的通道,同时Consumer利用心跳也可以主动离开消费者组 在Consumer端关于心跳的2个重要类为Heartbeat ...
阅读更多
kafka缓冲池(BufferPool)原理剖析
前言 本文主要聊聊kafka生产者端的缓冲池设计,不了解ByteBuffer的同学需要先看看我之前的文章ByteBuffer浅显易懂的图解原理 生产者缓冲池的应用 kafka采用延迟批量发送的方式来提高了吞吐量,采用ByteBuffer来保存消息,你可以把ByteBuffer理解为一块内存,kafk ...
阅读更多