面试题

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分布式架构的原理相关推荐

  1. es分布式架构和原理分析

    es的分布式架构 前言 这篇初识ElasticSearch文章中,说明了es的集群的核心概念,回顾一下. 关于节点: 一个运行中的 es实例称为一个节点,而集群是由一个或者多个拥有相同cluster. ...

  2. 【分布式架构的原理】淘宝的演进过程

    目录结构 一.分布式架构的原理: 1. 高并发,大流量 2. 高可靠,高可用 3. 海量数据存储 4. 用户分布广,网络情况复杂 5. 网络安全环境恶劣 6. 需求变更频繁,版本迭代快 二.大型网站的 ...

  3. es 创建索引_从一道面试题来看ES的分布式架构原理

    概述 在搜索这块,lucene 是最流行的搜索库.几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜 ...

  4. Elasticsearch 分布式架构原理

    前言 前面介绍了很多ES使用过程中的具体实战知识点,本文主要是谈谈ES分布式架构原理. 一.Elasticsearch特点 elasticsearch是近实时的分布式搜索分析引擎,底层实现基于Luce ...

  5. 阿里顶级架构师倾情推荐:国内首本大型分布式架构笔记《凤凰架构》

    前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...

  6. 强势来袭!国内首本大型分布式架构笔记浴火新生

    前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...

  7. 新浪顶级架构师保驾护航,国内首本大型分布式架构笔记浴火新生

    前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...

  8. 新浪顶级架构师保驾护航!国内首本大型分布式架构笔记浴火新生

    前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...

  9. 『互联网架构』软件架构-分布式架构

    分布式架构:原理,设计与实战,目前公司每个月都要出账,出账就是每个月有要把之前的一个月的账目盘算清楚,做到错误的0容忍,一笔都不能错,错一笔客户都会找你,偏准确性.4个9,5个9并不是说后面设计的,而 ...

  10. ES 的分布式架构原理能说一下么?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | http://8rr.co/Gs9a 面试题 ...

最新文章

  1. lodop打印技巧与注意事项
  2. RHEL5系统下故障处理方法
  3. [Android基础] VideoView
  4. Cisco asa 5520 oid
  5. EditText 双击才能获取点击事件
  6. 数百万戴尔设备遭 BIOSConnect 代码执行漏洞影响
  7. aspx转为html5,保存ASPX 生成的html代码
  8. fastboot模式下无法找到设备,不能使用fastboot命令,需要安装驱动
  9. 高通平台开发系列讲解(外设篇)BMI160基本配置
  10. mac下安装和使用brew
  11. 安卓自定义悬浮按钮实现
  12. 如何在window电脑和Ipad之间互传文件之优雅的解放Ipad生产力
  13. C++实现的基于α-β剪枝算法的井字棋游戏
  14. 微信公众号授权登录(asp.net + angular)
  15. 10个iPad Air常见小问题及解决方法汇总
  16. SPSS是什么?SPSS软件的功能有哪些?
  17. win10——戴尔笔记本电脑插上耳机没有声音电脑外放
  18. 10.网桥是什么?网桥和路由器及交换机的区别?以太网和令牌环网,nat,查公网ip等
  19. React: onRef 和 ref
  20. 大数据_——利用hive仓库模拟数据进行日活、日新、留存数据的分析统计(详细代码步骤)

热门文章

  1. 如何通过Tik Tok月入2w美金
  2. 【Linux入门指北】第六篇 Linux常用的开发工具
  3. Linux性能统计工具
  4. 2018清华计算机专业优秀学生名单,2018信息学竞赛清华北大优秀学生签约名单
  5. Android Studio 的蓝牙串口通信(附Demo源码下载)
  6. linux下journalctl日志在哪,journalctl---系统日志
  7. AD/Allegro:0603、0805、1206尺寸封装设计资料
  8. 深度学习面试题2018
  9. go语言字符串换行_Go语言字符串
  10. Bicomb+spss进行共现分析并可视化(附安装包)