【后端面经】【NoSQL】ElasticSearch - 1 -4 削峰 扩容

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 【6月更文挑战第19天】面试中,限流阈值设定、触发及恢复策略是关键点。熔断即停止新请求,降级需优先保障核心业务。可通过研发插件或使用网关(如极限网关)实现熔断、限流、降级,但网关可能引入性能损耗。客户端限流也是有效手段,尤其对高压力业务。然而,最佳解决方案仍是针对高并发需求进行扩容。

这里面试官也会考察怎么确定限流的阈值,超过阈值多少才会触发限流,限流之后怎么恢复等问题。

当然,如果你会研发限流插件,你也可以用插件来实现熔断、降级。熔断比较好处理,就是直接拒绝新的查询请求,但是降级这个就要考虑怎么降级了。如果你能够知道不同查询的业务价值,那么你就可以考虑触发降级的时候优先保障核心业务的请求,但是把非核心的请求拒绝了。总而言之,你之前在微服务学习到的熔断、限流、降级的思想,在这里一样适用。

如果你从来没有研发过 Elasticsearch 插件,那么也可以考虑其他两种策略,一种是在 Elasticsearch 之前加一个网关,查询经过网关的时候会被限流、熔断或者降级。当然,引代理也可以。
2024-06-25-20-19-33-image.png

目前市面上这方面的产品不多,比较成熟的是极限网关,可以用一种自己了解但是没有实践过的话术说。

我还了解过Elasticsearch网关或代理,希望能够借助这些产品来做Elasticsearch的治理。比如借助网关做熔断、限流、降级这些,但是市面上相关的产品较少,也担心引入网关后的性能损耗,所以最后并没有实施这个方案。

另一种是在客户端这边限流各个业务方需要限制住自己的查询频率,防止把整个Elasticsearch打崩。相比之下,这种方式是最好落地的。

为了保护Elasticsearch,在客户端这边做了限流。比如某个业务的查询都比较慢,对Elasticsearch的压力很大,那么限流的阈值就比较小。

不过 Elasticsearch 设计之初就是为了支持高并发大数据的,所以最佳方式还是要考虑扩容

不管如何,限流都只能算是治标。如果经常触发限流,或者发现 Elasticsearch 有性能问题,那么还是要及时扩容的。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
5月前
|
NoSQL
|
5月前
|
NoSQL 消息中间件 数据库
|
5月前
|
NoSQL 监控 关系型数据库
【后端面经】【NoSQL】ElasticSearch - 1 -3 基本思路 限流
【6月更文挑战第17天】在面试中讨论Elasticsearch高可用性时,聚焦于分片机制和主从副本,确保数据冗余。Translog作为关键组件,用于数据安全,防止崩溃后丢失。为提升高可用性,实施了额外措施,如限流保护,通过Elasticsearch内置功能或自定义插件监控内存和CPU使用率,当超过阈值时动态限流,以应对突发流量,避免系统崩溃。
60 1
|
4月前
|
负载均衡 NoSQL 中间件
|
12天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
29 5
|
1月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
126 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
|
3月前
|
JSON 自然语言处理 数据库
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。
|
3月前
|
Ubuntu Oracle Java
如何在 Ubuntu VPS 上安装 Elasticsearch
如何在 Ubuntu VPS 上安装 Elasticsearch
42 0

热门文章

最新文章

下一篇
无影云桌面