悬赏 1000 RMB,求一个 Elasticsearch 相关的解决方案

6 天前
 wukaige

目前用 es 做了一个全文检索服务,索引 3T 大小左右。

9 点上班有个访问高峰,其他时间访问量不高,9 点的时候,Es 服务需要支撑至少 1w 人同时访问,其他时间不超过 1000 。

在这种场景下,部署一个能同时支撑 1w 人的 Es 服务开销太大。

有没有一种解决方案,动态调整 Es 资源(类似于阿里云的 Elasticsearch serverless ,按量付费),1w 个人来就给你能支撑 1w 人访问的计算资源,1000 人来就给 1000 人的资源,这样能节省很大一笔开支。

4029 次点击
所在节点    程序员
36 条回复
Aliencn
6 天前
那就直接用阿里云 ES 的弹性伸缩不就行了嘛。
自己实现的话也是够买弹性服务器加入集群。
wukaige
6 天前
@Aliencn

阿里云 ES 的弹性伸缩,并发量上不了 1w
bronyakaka
6 天前
简单说就是 资源可以减少,但是要上缓存,缓存层支撑高并发
angeni
6 天前
搜索应该也讲二八原则,那给 80%的套上缓存可能行
oudemen
6 天前
es 部署到 k8s 中,定时弹性扩缩容?
my3157
6 天前
就用 ES 原生的 ILM 最方便, 部署用 k8s, 配置好 k8s 的 nodegroup, 每天九点之前, 扩容一批 es hot/warm 节点, 并且将 index 从 cold 节点提升上来, 完事了再降回 cold 节点, 缩掉扩容的 k8s 节点, 实现起来也不复杂
justest123
6 天前
感觉像是个 AB 问题。。

先确认下,这 1W 人是真的都需要访问到 ES 吗,用缓存转移走部分重复请求或者没必要的请求吧
sdoq19
6 天前
阿里云 elasticsearch serverless
fengjianche
6 天前
这种分布式存储问题都一个样,先上多级缓存,再扛不住就加机器。1w 人同时访问,也不是很多啊。
JunMemon
6 天前
ES 拆分节点类型,可以横向扩展非 data 节点,data 节点采用冷热数据部署
bootvue
6 天前
k8s hpa
hallDrawnel
6 天前
感觉像是个 XY 问题,你最终要做的可能不是扩容你的 ES 。试着从搜索分布分析一下?
zhenjiachen
6 天前
k8s hpa 或者 node hpa 应该不行把。以为他们只扩充节点,但是数据不会同步到新节点并且节点关闭了数据也丢了
shizhibuyu2023
6 天前
有悬赏平台吗,没有的话谁去开发一个,我要抢单
winglight2016
6 天前
ES 的缓存就是靠内存,你要是裸机安装就内存弹性增加,如果是 k8s 安装,那就用 HPA 弹性加内存
ss098
6 天前
部署 ElasticSearch Helm 到 Kubernetes ,声明 ElasticSearch 不同 node role 的 resources 以及 autoscaling 的配置。

https://github.com/bitnami/charts/tree/main/bitnami/elasticsearch
ChoateYao
6 天前
阿里云有这种业务啊,包括 RDS 之类的数据库都有动态扩容方案

https://help.aliyun.com/zh/es/user-guide/perform-auto-scaling-for-a-cluster?spm=a2c4g.11186623.0.0.6f397de1Etkjdj
wukaige
6 天前
@justest123

真的要访问,1w 可能还不保险。
lasuar
5 天前
你需要一个 es 专家
mightybruce
5 天前
"假设用户量 60w ,这 60w 个人在一分钟内发请求过来,平均每秒 1w 个请求,并发至少 1w 是这么来的。"

首先这个公式就是有问题, 怎么可能 60w 人都是活跃用户,并且用户量根本不能直接这样换算, 你这什么应用

就是一个 XY 问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1054194

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX