Skip to content

Commit

Permalink
docs(es): add es-production-cluster.md
Browse files Browse the repository at this point in the history
ElasticSearch生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片shard?
  • Loading branch information
yanglbme committed Dec 3, 2018
1 parent 1a3daf6 commit d8751a6
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
- [es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)?](/docs/high-concurrency/es-architecture.md)
- [es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?](/docs/high-concurrency/es-write-query-search.md)
- [es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?](/docs/high-concurrency/es-optimizing-query-performance.md)
- es 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?
- [es 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?](/docs/high-concurrency/es-production-cluster.md)

### [缓存](/docs/high-concurrency/why-cache.md)
- [在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?](/docs/high-concurrency/why-cache.md)
Expand Down
20 changes: 20 additions & 0 deletions docs/high-concurrency/es-production-cluster.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## 面试题
es 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?

## 面试官心理分析
这个问题,包括后面的 redis 什么的,谈到 es、redis、mysql 分库分表等等技术,面试必问!就是你生产环境咋部署的?说白了,这个问题没啥技术含量,就是看你有没有在真正的生产环境里干过这事儿!

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

如果你是自己就玩儿过 demo,没碰过真实的 es 集群,那你可能此时会懵。别懵,你一定要云淡风轻的回答出来这个问题,表示你确实干过这事儿。

## 面试题剖析
其实这个问题没啥,如果你确实干过 es,那你肯定了解你们生产 es 集群的实际情况,部署了几台机器?有多少个索引?每个索引有多大数据量?每个索引给了多少个分片?你肯定知道!

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

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

大概就这么说一下就行了。

0 comments on commit d8751a6

Please sign in to comment.