elasticsearch源码分析之服务端(四)

本文详细分析了Elasticsearch服务端如何接收并处理消息。从接收消息开始,通过MessageChannelHandler解析数据流,执行handleRequest。接着深入探讨服务端处理,包括索引的分类处理、生成_id、确定shardId以及分片处理请求的过程。最后,概述了写入primary阶段,包括PrimaryPhase和document的生成与索引操作。
摘要由CSDN通过智能技术生成
上篇博客说明了客户端的情况,现在继续分析服务端都干了些啥,es是怎么把数据插进去的,此处以transport的bulk为入口来探究,对于单个document的发送就忽略了。

一、服务端接收

1.1接收消息

在客户端分析中已经提到,netty中通信的处理类是MessageChannelHandler,其中messageReceived方法用来处理消息。

1.1.1解析数据流


1.1.2调用handleRequest,此处读取出来action,跟不同的action生成具体的TransportRequest子类和不同的HandledTransportAction。


其中生成reg和request解析如下:


最终执行到了TransportBulkAction类的doExecute方法,处理bulkRequest。

1.2主要类UML图

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值