• 30.es增删改内部分发原理


    当客户端发送一次请求时,大致会经过以下几个步骤

       

    1)客户端发送一个请求过去,es的一个node接收到这个请求(随机的),这个node就被es内部分配成coordinating node(协调节点)

    2coordinating node对这次请求的document进行路由分发(由上一节的路由算法),将请求转发给对应的nodeprimary shard

    3)实际的nodeprimary shard)接收到coordinating node所分发的请求后,在该primary shard上处理请求,处理完毕后将数据同步到相对应的replica node中。

    4)当实际node处理完所有请求后,就会发消息给coordinating nodecoordinating node发现primary node和所有replica node都处理完毕之后,就返回响应结果给客户端。

       

    其他几个注意点

    1、因为是增删除改请求,所以只能是在primary shard中进行,不能在replic shard中进行。

    2、因为任意node都知道每个document在那个node上,所以对客户端来说,可以选择任意节点,所以在进行请求时并未指定节点,由es随机分配。

  • 相关阅读:
    redis 数据迁移
    redis
    Redis集群的三种模式
    Golang 协程 (goroutine) 与通道 (channel)
    Python生成器next方法和send方法区别
    python 文件
    Tornado 异步以及非阻塞的I/O
    python 多进程和多线程3 —— asyncio
    利用CSS改变图片颜色的100种方法!
    jquery获取div的位置
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8464428.html
Copyright © 2020-2023  润新知