Elasticsearch 版本選擇

2018年Q2, Elasticsearch 更新到6.2版本, 6.3版本還未正式發(fā)布,如果準(zhǔn)備在生產(chǎn)環(huán)境使用,比較推薦使用較老的5.6.x版本或2.x版本,一方面比較穩(wěn)定、另外資料也比較多

如果使用Java技術(shù)棧,你很可能會(huì)使用Spring Boot全家桶,當(dāng)前Spring Boot更新到2.x版本, 默認(rèn)spring-boot-starter-data-elasticsearch 默認(rèn)的ES版本為5.6.9;如果你仍然使用Spring Boot 1.x版本,那么默認(rèn)的Elastisearch版本為2.x

客戶端

Java技術(shù)棧目前有三種可以選擇 Node Client, Transport Client, Rest API, 需要注明的是,官方已經(jīng)標(biāo)明NodeClient 已經(jīng)過(guò)期,Transport Client 將在7.x版本開(kāi)始不再支持, 最終會(huì)在7.x 統(tǒng)一到Rest API。目前Transport Client使用范圍比較廣;Rest API方式兼容性較好;除非在In-memory模式下運(yùn)行單元測(cè)試,否則不推薦NodeClient

單測(cè)測(cè)試

如果能使用in-memory 這種方式,那么可以很輕松保證可重測(cè)性,很可惜的是,Elasticsearch 5.x版本開(kāi)始,官方已經(jīng)開(kāi)始不證支持im-memory這種方式,而且從Spring Boot官方文檔來(lái)看,Spring Boot 2.x版本的文檔中已經(jīng)去掉了In memory這種方式的描述

升級(jí)和遷移

2.x版本數(shù)據(jù)可以直接遷移到 5.x; 5.X版本的數(shù)據(jù)可以直接遷移到6.x; 但是2.x版本數(shù)據(jù)無(wú)法直接遷移到6.x

總結(jié)

ES 2.x版本

優(yōu)點(diǎn):

1. Java技術(shù)棧, spring-boot-starter-data-elasticsearch 支持in-memory方式啟動(dòng),單元測(cè)試開(kāi)箱即用

2. 當(dāng)前線上運(yùn)行的主流版本, 比較穩(wěn)定

缺點(diǎn):

1. 版本較老,無(wú)法體驗(yàn)新功能,且性能不如5.x

2. 后期升級(jí)數(shù)據(jù)遷移比較麻煩

3. 周邊工具版本比較混亂;Kinbana等工具的對(duì)應(yīng)版本需要自己查

ES 5.x版本

優(yōu)點(diǎn)

1. 版本相對(duì)較新,性能較好官方宣稱索引吞吐量提升在25%到80%之間,新的數(shù)據(jù)結(jié)構(gòu)用于存儲(chǔ)數(shù)值和地理位置字段,性能大幅提升;5.x版本搜索進(jìn)行了重構(gòu),搜索聚合能力大幅提高

2. 周邊工具比較全,版本號(hào)比較友好。 ES官方在5.x時(shí)代統(tǒng)一了 ELK體系的版本號(hào)

3. 升級(jí)到6.x也比較方便

缺點(diǎn):

1.? 官方宣布已不支持In-Memory模式和Node Client已失效, 如果需要使用in-memory方式單測(cè),需要自己手動(dòng)配置ES版本、spring-data-elasticsearch版本、打開(kāi)http訪問(wèn)開(kāi)關(guān)等配置,并行使用REST API訪問(wèn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容