您当前的位置: 首页 >  ar

一一哥Sun

暂无认证

  • 5浏览

    0关注

    622博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Day16_07_ES教程之Elasticsearch 版本选择

一一哥Sun 发布时间:2019-07-06 23:19:35 ,浏览量:5

Elasticsearch 版本选择

2018年二季度的时候,Elasticsearch 更新到6.2版本,如果准备在生产环境使用es,推荐使用较老的5.6.x版本或2.x版本,一方面比较稳定、另外资料也比较多.

如果要在Java中开发es,你很可能会使用Spring Boot全家桶,如果Spring Boot更新到2.x版本,默认spring-boot-starter-data-elasticsearch默认的ES版本为5.6.9;如果你仍然使用Spring Boot 1.x版本,那么默认的Elasticsearch版本为2.x.

一. Java客户端

ES的Java客户端中,目前有三种可选的技术栈, Node Client,Transport Client,Rest API. 

注意:

官方已经表明 NodeClient过期;Transport Client 将在7.x版本开始不再支持,最终会在7.x 统一到Rest API.目前Transport Client使用范围比较广,Rest API方式兼容性较好,除非在In-memory模式下运行单元测试,否则不推荐NodeClient.

二. 单测测试

如果能使用in-memory 这种方式,那么可以很轻松保证可重测性,很可惜的是Elasticsearch 5.x版本开始,官方已经开始不证支持im-memory这种方式,而且从Spring Boot官方文档来看,Spring Boot 2.x版本的文档中已经去掉了In memory这种方式的描述.

三. 升级和迁移
  • 2.x版本数据可以直接迁移到 5.x;

  • 5.X版本的数据可以直接迁移到6.x;

  • 但是2.x版本数据无法直接迁移到6.x.

四. 总结 1. ES 2.x版本 优点:
  • 1️⃣. Java技术栈, spring-boot-starter-data-elasticsearch 支持in-memory方式启动,单元测试开箱即用;

  • 2️⃣. 当前线上运行的主流版本,比较稳定.

缺点:
  • 1️⃣. 版本较老,无法体验新功能,且性能不如5.x;

  • 2️⃣. 后期升级数据迁移比较麻烦;

  • 3️⃣. 周边工具版本比较混乱,Kibana等工具的对应版本需要自己查.

2. ES 5.x版本 优点:
  • 1️⃣. 版本相对较新,性能较好.官方宣称索引吞吐量提升在25%到80%之间,新的数据结构用于存储数值和地理位置字段,性能大幅提升. 5.x版本搜索进行了重构,搜索聚合能力大幅提高;

  • 2️⃣. 周边工具比较全,版本号比较友好. ES官方在5.x时代统一了 ELK体系的版本号.

  • 3️⃣. 升级到6.x也比较方便.

缺点:

1️⃣. 官方宣布已不支持In-Memory模式,Node Client也已失效.如果需要使用in-memory方式单测,需要自己手动配置ES版本和spring-data-elasticsearch版本,打开http访问开关等配置,并行使用REST API访问.

 

关注
打赏
1665624836
查看更多评论
立即登录/注册

微信扫码登录

0.0478s