1 面试题

  • ES集群部署架构如何
  • 每个索引的数据量大概多少
  • 每个索引大概有多少分片

2 考点分析

问你生产环境咋部署的,说白了,没啥技术含量,就是看你有没有在真正的生产环境里做过ES!

有些同学可能没在生产环境做过,没在线上部署过ES集群,也没实际玩过,也没往ES集群里面导入过几千万甚至是几亿的数据量,可能你就不太清楚这里面的一些生产项目中的细节

如果你是自己就玩过demo,没碰过真实的ES集群,那你可能此时会懵,但是别怕!
你一定要云淡风轻的回答,表示你确实干过ES!

3 详解

如果你确实干过ES,那你肯定了解你们生产es集群的实际情况,部署了几台机器?有多少个索引?每个索引有多大数据量?每个索引给了多少个分片?你肯定知道!

但是如果你确实没干过,也别虚,我给你说一个基本的版本,你到时候就简单说一下就好了

  • ES生产集群我们部署了5台机器,每台机器是6核64G的,集群总内存是320G
  • 我们ES集群的日增量数据大概是2000万条,每天日增量数据大概是500MB,每月增量数据大概是6亿,15G。目前系统已经运行了几个月,现在es集群里数据总量大概是100G左右
  • 目前线上有5个索引(这个结合你们自己业务来,看看自己有哪些数据可以放ES的),每个索引的数据量大概是20G,所以这个数据量之内,我们每个索引分配的是8个shard,比默认的5个shard多了3个shard

大概就这么意思一下就OK!

参考

《Java工程师面试突击第1季-中华石杉老师》