前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch基础分布式架构讲解

ElasticSearch基础分布式架构讲解

作者头像
Java高级架构
发布2019-03-06 17:21:44
6610
发布2019-03-06 17:21:44
举报
文章被收录于专栏:JAVA高级架构JAVA高级架构

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

Elasticsearch是一台分布式系统,之所以分布式,是为了应对大数据量,他把整个分布式系统的一些复杂的东西隐藏起来,我们不用去关系他们,直接可以使用es。

隐藏的特性或机制:

1.1 分片机制

之前我们随便可以将document数据插入到es集群中,我们有没有care过数据是如何进行分片的,就是说document存放到哪一个shard中的。

1.2 Cluster discover 集群发现机制

比如说我们再单台服务器上面运行一个es节点,这个es节点的health状态是yellow,这个我们是知道的,当我们再启动一个es进程,最为一个节点的时候,这个进程会自动发现集群,并且自动加入到集群中,还接收了部分数据,replica shard 数据。

1.3 shard负载均衡

假设现在有3个es节点,25个shard要分配,es会自动进行均匀的分配,以保持每个节点的均衡的读写负载请求。

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

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

假设现在有6台服务器,每台上面可以存储1T的数据,现在数据量增加到8T,有两种扩容方案:

2.1 垂直扩容

购置更加强大的服务器,比如将其中的两台服务器换成可以存储2T数据的服务器,这个时候4 + 2*2 = 8T

缺点:高配置的服务器成本非常高。

2.2 水平扩容

购置两台1T的服务器,直接添加到集群中。

业界比较采用,很多普通的服务器组织在一起,可以构成强大的计算和存储能力。

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

比如上面前5个节点,每一个节点上有一个shard,但是第六个节点有2个shard,这个时候,最后一个节点同其他节点是不平衡的,他的存储和请求的负载比较高的,这个时候,集群中新增一个节点,第六个节点会分配一个shard到新节点上,实现rebalance。

4 Master节点

在集群中,有一个master节点,管理集群的元数据,比如索引的元数据,节点的增加和删除,维护节点的元数据,默认情况下,会自动选择一个节点作为master节点,但是master节点不承载所有的请求,所以说master节点不会是一个单点瓶颈。只是做一些轻量级的事情。

5节点平等的分布式架构

5.1 节点平等

每一个节点都能接收所有的请求

5.2 自动请求路由

每一个节点接收到请求之后都能够把这个请求路由到有相关数据的其他节点上去

5.3 相应收集

最原始接收的节点负责从其他节点采集相应的数据,然后把汇总的数据返回到客户端

当然现在只是一些基础的概念解释,后面我们还会继续深入的结合案例升入的讲解和学习,请关注

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高级架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档