ES分布式架构的原理
面试题
ES分布式架构的原理可以讲一下吗(es是如何实现分布式的)?
分析
现在的分布式搜索已经成为一些互联网行业java系统的标配了,其中尤其流行es,前几年es没火的时候大部分人用solr。但是这几年大部分项目和企业都开始转向了es。
所以互联网面试如何问起来分布式搜索引擎的话,ES是不可能绕过的一座大山。第一个相关的问题大概率都会问你es的分布式架构设计,看看你对分布式搜索引擎基本原理的了解程度。
回答
es,全称elasticsearch的设计理念就是分布式搜索引擎,底层原理其实还是基于lucene的。
核心思想就是在多台机器上启动多个es进程实例,组成一个集群。es存储数据的基本单位就是索引, 接着建立一个索引,这个索引可以拆分成多个shard分片节点,每个shard存储部分数据。
然后重点来了,每个shard都要一个primary shard负责写入数据,还有一个或着多个replica shard作为数据的副本,primary shard会不停的把数据同步给replica shard。而且,replica shard是不会和primary shard在同一台机器上的,所以就不怕某一台宕机。并且这些机器中,es会选举出一个master主机,用来做数据管理,或者负责切换primary shard和replica shard的身份之类的工作。如图:
如果master宕机,那么会自动再选举出一个新的master,并且会检测到primary shard 02不在了,所以会将进程03中的replica shard变为primary shard,保证程序的正常。
还有一点比较重要,就是写数据的时候客户端是往primary shard中写数据,读数据的时候primary shard和replica shard都是可以读取数据的
ES分布式架构的原理相关推荐
- es分布式架构和原理分析
es的分布式架构 前言 这篇初识ElasticSearch文章中,说明了es的集群的核心概念,回顾一下. 关于节点: 一个运行中的 es实例称为一个节点,而集群是由一个或者多个拥有相同cluster. ...
- 【分布式架构的原理】淘宝的演进过程
目录结构 一.分布式架构的原理: 1. 高并发,大流量 2. 高可靠,高可用 3. 海量数据存储 4. 用户分布广,网络情况复杂 5. 网络安全环境恶劣 6. 需求变更频繁,版本迭代快 二.大型网站的 ...
- es 创建索引_从一道面试题来看ES的分布式架构原理
概述 在搜索这块,lucene 是最流行的搜索库.几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜 ...
- Elasticsearch 分布式架构原理
前言 前面介绍了很多ES使用过程中的具体实战知识点,本文主要是谈谈ES分布式架构原理. 一.Elasticsearch特点 elasticsearch是近实时的分布式搜索分析引擎,底层实现基于Luce ...
- 阿里顶级架构师倾情推荐:国内首本大型分布式架构笔记《凤凰架构》
前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...
- 强势来袭!国内首本大型分布式架构笔记浴火新生
前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...
- 新浪顶级架构师保驾护航,国内首本大型分布式架构笔记浴火新生
前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...
- 新浪顶级架构师保驾护航!国内首本大型分布式架构笔记浴火新生
前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...
- 『互联网架构』软件架构-分布式架构
分布式架构:原理,设计与实战,目前公司每个月都要出账,出账就是每个月有要把之前的一个月的账目盘算清楚,做到错误的0容忍,一笔都不能错,错一笔客户都会找你,偏准确性.4个9,5个9并不是说后面设计的,而 ...
- ES 的分布式架构原理能说一下么?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | http://8rr.co/Gs9a 面试题 ...
最新文章
- lodop打印技巧与注意事项
- RHEL5系统下故障处理方法
- [Android基础] VideoView
- Cisco asa 5520 oid
- EditText 双击才能获取点击事件
- 数百万戴尔设备遭 BIOSConnect 代码执行漏洞影响
- aspx转为html5,保存ASPX 生成的html代码
- fastboot模式下无法找到设备,不能使用fastboot命令,需要安装驱动
- 高通平台开发系列讲解(外设篇)BMI160基本配置
- mac下安装和使用brew
- 安卓自定义悬浮按钮实现
- 如何在window电脑和Ipad之间互传文件之优雅的解放Ipad生产力
- C++实现的基于α-β剪枝算法的井字棋游戏
- 微信公众号授权登录(asp.net + angular)
- 10个iPad Air常见小问题及解决方法汇总
- SPSS是什么?SPSS软件的功能有哪些?
- win10——戴尔笔记本电脑插上耳机没有声音电脑外放
- 10.网桥是什么?网桥和路由器及交换机的区别?以太网和令牌环网,nat,查公网ip等
- React: onRef 和 ref
- 大数据_——利用hive仓库模拟数据进行日活、日新、留存数据的分析统计(详细代码步骤)