Elasticsearch的基础分布式架构

2018-04-05  本文已影响0人  WinnXUDONG
ES的基础分布式架构

1、Elasticsearch对复杂分布式机制的透明隐藏特性

Elasticsearch是一套分布式的系统,分布式是为了应对大数据量。但是它隐藏了复杂的分布式机制,只需要简单的操作即可达到分布式效果。例如java程序只需要写入document调用API,接收返回数据即可,不需要在意底层分布式机制。

Elasticsearch隐藏了哪些机制?

  1. 分片机制(我们之前随随便便就将一些document插入到es集群中去了,我们有没有在意过数据怎么进行分片的,数据到哪个shard中去)

  2. cluster discovery(集群发现机制,我们之前在做那个集群status从yellow转green的实验里,直接启动了第二个es进程,那个进程作为一个node自动就发现了集群,并且加入了进去,还接受了部分数据,replica shard)

  3. shard负载均衡(举例,假设现在有3个节点,总共有25个shard要分配到3个节点上去,es会自动进行均匀分配,以保持每个节点的均衡的读写负载请求)

  4. shard副本,请求路由,集群扩容,shard重分配等。

2、Elasticsearch的垂直扩容与水平扩容

  1. 垂直扩容:采购更强大的服务器,成本非常高昂,而且会有瓶颈,假设世界上最强大的服务器容量就是10T,但是当你的总数据量达到5000T的时候,你要采购多少台最强大的服务器啊

  2. 水平扩容:业界经常采用的方案,采购越来越多的普通服务器,性能比较一般,但是很多普通服务器组织在一起,就能构成强大的计算和存储能力

扩容对应用程序的透明性

3、增减或减少节点时的数据rebalance

例如:当在进行负载均衡的时候,有一台机器有2个shard其余的机器都只有一个shard。这时候某些机器的负载就会重一些。这时候当你又加进来一个机器在集群中的时候es就会在有2个shard的服务器中拿出一个shard给到新加入的服务器中。保持负载均衡。

4、master节点

  1. 创建或删除索引
  2. 增加或删除节点
  3. 具体内容参看图片。

5、节点平等的分布式架构

  1. 节点对等,每个节点都能接收所有的请求
  2. 自动请求路由
  3. 响应收集
上一篇下一篇

猜你喜欢

热点阅读