Elasticsearch 的基础分布式架构

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



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. 节点平等的分布式架构

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

  • 自动请求路由

  • 响应收集



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





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





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



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