Kafka生产者源码浅析(三)|Kafka Tutorial|kafka-中间件-消息Kafka生产者源码浅析(三)
回顾
在doSend方法中,最后几行代码是在消息添加进内存缓冲区之后,判断是否有可发送的消息,并唤醒了Sender线程
那么sender线程又是如何发送的呢
猜想:
先拿到缓冲区中待发送的所有消息,找到每个partition leader所在的broker
topi ...
阅读更多
ElasticSearch7.2 实现数据自动冷热分离|ELK Stack|ElasticSearch-X-pack-kibana冷热分离
在基于时序数据中,我们总是关心最近产生的数据,例如查询订单通常只会查询最近三天,至多到最近一个月的,查询日志也是同样的情形,很少会去查询历史数据,也就是说类似的时序数据随着时间推移,价值在逐渐弱化。在es中经常按日或按月建立索引,我们很容易想到,历史索引被查询命中的概率越来越低,不应该占用 ...
阅读更多
Kafka生产者源码浅析(二)|Kafka Tutorial|kafka-中间件-消息Kafka生产者源码浅析(二)
上篇文章中对Spring-kafka源码做了追踪,也对原生的KafkaProducer做了部分解析,对关键类事先说明,帮助读者理解源码,克服对源码的恐惧心理
doSend的方法很长,我们分部拆解
1234567891011121314151617181920212 ...
阅读更多
Kafka生产者源码浅析(一)|Kafka Tutorial|kafka-中间件-消息Kafka生产者源码浅析(一)
本文并没有直接使用原生的kafka-client,而是spring-kafka,版本为2.2.3.RELEASE。在当前以Spring-boot为首的潮流中,有必要学习Spring是如何集成kafka客户端的
send方法
以KafkaTemplate#send方 ...
阅读更多
Spring IOC容器之解析并注册BeanDefinition|Spring|Spring-源码前言
ConfigurationClassPostProcessor作为当前唯一的BeanFactoryPostProcessor,而且还是一个特殊的BeanDefinitionRegistryPostProcessor(继承自BeanFactoryPostProcessor)。
按前文所说,先执行 ...
阅读更多
Spring IOC容器之refresh流程(一)|Spring|Spring-源码前言
上文讲到了AnnotationConfigApplicationContext初始化的前两步,本文开始重点讲解第三步refresh。
类图
AbstractApplicationContext是所有ApplicationContext实现类的抽象接口,在它的refresh方法中抽象出了绝大部分 ...
阅读更多
SpringMVC源码分析|Spring|Spring-Spring 扩展
曾经debug了一次SpringMVC的源码,但是平时比较忙(lan),一直没有放在博客上,现在忙里偷闲整理上来
DispatcherServlet#doDispatch方法分析
查找HandlerExecutionChain,它的名称为mappedHandler
遍历HandlerMappi ...
阅读更多
ElasticSearch7.2 父子文档|ELK Stack|ElasticSearch
写这篇文章的目的是为了帮助大家了解7.2版本中的父子文档,之前希望通过百度的博客快速了解一下,然而大失所望,建立索引的语法在7.2版本没有一个能通过,决定仔细看一遍官方文档
建立父-子文档语法
首先看一下如何建立父子文档,明显和网上"_parent"的方式不一样,说明es后期 ...
阅读更多
spring-boot原理之@EnableXxx注解的实现|Spring Boot|Spring Boot
Spring boot各种领人眼花缭乱的starter层出不穷,它实现了各种组件与spring的集成,本文以spring-cloud-openfeign 2.2.0版本为例,介绍@EnableXxx注解的实现原理
准备
注 由于有包扫描相关,本文约定包名为com.ttyc,启动类名为MainAp ...
阅读更多
跳表的研究与实现|数据结构|数据结构
跳表的基本原理介绍我是从极客学院王争老师的课程中了解到的,由于其实现相比红黑树简单,并且有与之媲美的性能,便想要实现一下,但纸上得来终觉浅,实际编码过程中遇到了不少的困难,希望本文对大家实现跳表有所帮助。
原理
待补充,可先移步至csdn相关博客,内容和王争老师文章差别不大
实现
本文采用jav ...
阅读更多