ES路由计算与分片控制

ES路由计算与分片控制

ES存储数据到哪一块分片是按照当前数据的hash值与分片书取模决定的,即路由计算 = hash(id) % 分片数。

当某块分片具备的该条数据,那它的副本都会存在,因此这就引申出了分片控制?
只要该台机器的副本有数据,就能访问到,因此分片控制最好控制再每台机器都存有某块分片的副本/主分片

  • 协调节点即用户访问的集群某一台机器的地址(用户并不知道数据在哪一台,只是这图刚好每一台都有副本/主分片),协调节点会自动计算用户想要的数据在哪台机器,然后找到并反馈给用户,如果每台机器都有对应的副本/主分片,这样可以让集群自己决定访问哪台机器获取数据(选取压力不大的机器获取),起到类似负载均衡的作用

ES写流程

ES的写数据机制有点类似kafka生产者的ack机制,具体可看下图。

ES读流程

posted @ 2024-02-22 16:26  MrSponge  Views(38)  Comments(0Edit  收藏  举报