7

Elasticsearch 的基础分布式架构

 4 years ago
source link: https://xie.infoq.cn/article/38bf7499a3f500698fa0789aa
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

内容来自B站中华石衫的Elasticsearch 顶尖高手系列课程核心知识篇,顺便说,老师的手绘示意图实在不怎么好看,领会精神吧

uE32uuR.jpg!mobile

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

Elasticsearch 是一套分布式的系统,分布式是为了应对大数据量,同时 Elasticsearch 隐藏了复杂的分布式机制。

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

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

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

shard副本,请求路由,集群扩容,shard重分配

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

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

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

普通服务器:1T,1万,100万

强大服务器:10T,50万,500万

扩容对应用程序的透明性

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

保持负载均衡

4. master节点

  • 创建或删除索引

  • 增加或删除节点

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

  • 节点对等,每个节点都能接收所有的请求

  • 自动请求路由

  • 响应收集

顺便说一句,今天体验了一下自习室。

baMbEzu.jpg!mobile

我在的这家叫做“蜂窝自习室”,其实就是改造一套两居室,分成了三个区域,每人一个小格子,我现在的位置是在阳台。我觉得挺好的,有电源和 WiFi,还提供一些简单的饮料和打印设备,无人值守扫码付费。

Inymqi.jpg!mobile

我比较喜欢这样的自习室,以前找咖啡馆其实主要也是为了电源。其实这个也有点类似个人版的共创空间,可以在餐厅小声的交流。

不过一共 50 个座位,现在大概只有 3 个人,不知道能不能坚持下去。


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK