美文网首页
2019-06-12 ES思考和总结

2019-06-12 ES思考和总结

作者: LoveAnny | 来源:发表于2019-06-12 17:37 被阅读0次

如何理解ES是分布式、可伸缩、高可用

  1. ES 是基于Lucene实现的分布式搜索引擎,其目的是扩展单机性能问题
  2. ES 可以横向或者纵向扩展,一般都选择横向扩展,这样性价比更好,当集群需要扩展时只要添加相应机器,ES会自动进行集群感知
  3. ES 是节点对等分布式架构,当前Master 节点出现宕机,集群中任何一个节点都可以充当Master节点,保证服务可用

面向文档和面向对象有什么区别

ES 是面向文档搜索引擎,文档的重要特性就是易于扩展的维护,面向文档一般是Json格式,而面向对象的特点是耦合性低,各对象之间的耦合性尽可能低,对象内部内聚性尽可能高,所以面向对象在表示引用形的对象时需要关联,表示形式比较复杂,而文档就相对简洁,比如:

# 面向对象
public class Employee(){
    private String dep;
    private String level;
    private PersonInfo info;
}

public class Person(){
    private String name;
    private String age;
    private String gender;
}

# 面向文档
{
    dep:"",
    "level":"",
    "info":{
        "name":"",
        "age":"",
        "gender":""
    }
}

ES shard和replica机制

  1. 一个index 可以包括多个shard
  2. 每一个shard就是一个lucene实例,可以提供请求和处理数据能力
  3. 节点发生变化,ES会自动在集群中平衡shard
  4. 每个document 只能存在于一个primary shard中
  5. replica shard 是 primary shard 的副本,负责对primary shard 容错,读取负载
  6. primary shard 在index 创建时就一定确定,不可修改,但是replica shard的数量可以动态调整
  7. primary shard 和其对应的 replica shard 不可以再同一台机器中,否则就失去了replica 意义。

相关文章

  • 2019-06-12 ES思考和总结

    如何理解ES是分布式、可伸缩、高可用 ES 是基于Lucene实现的分布式搜索引擎,其目的是扩展单机性能问题 ES...

  • es总结和思考2

    ES如何处理并发问题 其实这个问题问的是悲观锁和乐观锁,以及在ES中的应用 悲观锁 悲观锁就是只要操作就加锁(不太...

  • js ------ import和export用法

    ES6模块的import和export用法总结

  • ES6总结(一) 初识

    es6总结 往期文章 ES5总结 1.es6简介 回顾javascrip组成:核心(ECMAScript)由ECM...

  • async_promise

    写法的区别 ES5正常写法 Promise的写法 async await写法 总结 1、ES5写法和promise...

  • ES6语法特性精华

    以下内容是我在学习和研究ES6时,对ES6的特性、重点和注意事项的提取、精练和总结,可以做为ES6特性的字典;在本...

  • 2021-06-19 ES6 Class关键字的使用

    ES6 Class关键字的使用 此文总结和参考自链接[http://caibaojian.com/es6/clas...

  • es6对象扩展

    es6对于对象做了很多扩展,现做以下总结。特性: ES6 允许直接写入变量和函数,作为对象的属性和方法。 Obje...

  • OpenGL ES 3.0 | 着色器编译器

    概述 当你要求OpenGL ES 编译和链接着色器时,思考 OpenGL ES 实现 必须要做的事情; 着色器代码...

  • ES6

    ES6语法使用总结

网友评论

      本文标题:2019-06-12 ES思考和总结

      本文链接:https://www.haomeiwen.com/subject/izqrfctx.html