摘要:
我开源了一个轻量级的 kafka 消费客户端,已上传到中央仓库,欢迎使用! https://github.com/rushsky518/lite-kafka-consumer 阅读全文
摘要:
通常我们使用 ES, 使用的是 http api,其实 Elasticsearch 是天生的集群架构,ES 进程监听 2 个端口,9200 用于提供 http 访问,9300 用于和集群中的节点进行通信。 在 windows 开发环境下,调试 Elasticsearch 8.4.0-snapshot 阅读全文
摘要:
es 的索引生命周期管理 index lifecycle management 即 ILM,控制着索引的创建、滚动、删除、归档,属实好用,那么它是如何实现的呢? 可以想象得到,es 的 master 执行一个定时任务,定期检查关联了 ilm 的索引,判断索引的状态,执行状态的流转。 ILM 相关代码 阅读全文
摘要:
通常我们说 es 是近实时的搜索服务,指的是 es 写入一条数据后,默认 1 s 后才可以搜索到,但我们在实际使用过程中指定 id 可以进行实时的查询。客户端使用 GetRequest 发起的查询默认是实时的,分片会从 translog 中读取数据并返回,为什么通过 id 查询就是实时的呢? es 阅读全文
摘要:
kafka 是一个高吞吐的消息服务中间件,当然这一切都是有原因的,今天我从 kafka 拉取消息这个场景剖析下 broker 的实现。 问题:kafka consumer 在 poll 的时候传递了一个 timeout 的参数,broker 是怎么处理这个参数的?如果 leader broker 有 阅读全文
摘要:
在 kafka broker 内部,当执行一些需要等待的任务时(比如 broker 处理 producer 的消息,需要等待消息同步到其他副本),会使用到 DelayedOperationPurgatory 和 DelayedOperation,大致流程如下图: 顶层的类是 DelayedOpera 阅读全文
摘要:
本文从一个示例入手,从代码层面分析 elastic search 查询文档的完整过程。 新建索引 cn-msg,设置 3 分片,1 副本 PUT localhost:9200/cn-msg { "settings": { "number_of_shards": 3, "number_of_repli 阅读全文
摘要:
本文分析一下 es 写入文档,并同步到副本的一个过程,先阅读官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-replication.html Every indexing operation in E 阅读全文
摘要:
先看一段 kubernetes scheduler 的描述: The Kubernetes scheduler is a control plane process which assigns Pods to Nodes. The scheduler determines which Nodes a 阅读全文
摘要:
我们都知道 elastic search 是近实时的搜索系统,这里面的原因究竟是什么呢?es 是近实时,是因为 lucene 是近实时的。我们看一段 lucene 的示例代码: 使用的 lucene 版本如下: <dependency> <groupId>org.apache.lucene</gro 阅读全文
摘要:
一、首先摆一张基于 zipkin 的调用链数据架构图 1.1 应用程序把搜集到的 span 信息发送到 kafka 1.2 zipkin 消费 kafka 中消息 1.3 zipkin 将数据写入到 mysql 1.4 为 zipkin 集群配置反向代理,路由 web ui 请求 二、接下来描述每个 阅读全文