ES官方版本为什么到现在为止没有提供限流的功能?
Fred2000 回复了问题 • 2 人关注 • 1 个回复 • 423 次浏览 • 2 天前
es filter script获取nested结构数据如何实现?
duanxiaobiao 回复了问题 • 2 人关注 • 1 个回复 • 3400 次浏览 • 2024-11-16 22:04
目前市面上常用的ES压测工具是啥
wu370324 回复了问题 • 3 人关注 • 2 个回复 • 3360 次浏览 • 2024-10-31 11:51
ES的_sql查询不返回长度超过ingore_above记录
kin122 回复了问题 • 2 人关注 • 1 个回复 • 3850 次浏览 • 2024-12-07 23:08
es 中keyword查询构建bitSet成本
Fred2000 回复了问题 • 2 人关注 • 1 个回复 • 5031 次浏览 • 2024-09-25 18:30
_reindex时怎样判断当目标记录中某个字段值大于原记录字段时跳过不更新?
kin122 回复了问题 • 3 人关注 • 2 个回复 • 4127 次浏览 • 2024-12-07 23:13
Elastic 宣布修改开源协议为 AGPL:Elasticsearch 再次成为开源软件
searchkit 发表了文章 • 0 个评论 • 5054 次浏览 • 2024-08-30 11:26
今日快讯!就在刚刚,开源搜索领域行业巨头 Elastic 官方博客发表了一篇最新公告《Elasticsearch is Open Source, Again》,Elastic 创始人& CTO Shay Banon 宣布 Elasticsearch 和 Kibana 许可证协议修改为 AGPL。
以下为搜索客社区从 Elastic 官方博客翻译的原文内容:
---
Elasticsearch 再次成为开源软件
[D.N.A] Elasticsearch 和 Kibana 现在可以再次被称为开源软件了。这句话让我感到无比的兴奋。真的忍不住跳起来庆祝!我们所有在 Elastic 的人都很高兴。开源精神是我的DNA,也是 Elastic 的DNA。能够再次称 Elasticsearch 为开源软件,真的是一种纯粹的快乐。
[LOVE.] 简而言之,我们将在接下来的几周内,除了 ELv2 和 SSPL 之外,增加 AGPL 作为另一个许可选项。在更改许可后,我们从未停止过像一个开源社区一样相信和行动。但通过使用 AGPL 这一获得开放源码促进会(OSI)批准的许可,消除了人们可能存在的任何疑问或混淆。
[Not Like Us] 我们在 Elastic 从未停止过对开源的信仰。我个人对开源的信仰也从未动摇,至今已有 25 年了。那么为什么三年前我们要做出改变呢?我们遇到了与 AWS 相关的问题,以及他们的服务引发的市场混乱。在尝试了所有能想到的其他选项后,我们更改了许可协议,明知道这会导致 Elasticsearch 被分叉成另一个名称并走上不同的发展轨迹。这是一个漫长的故事。
[Like That] 好消息是,虽然过程痛苦,但结果奏效了。三年后,亚马逊已经完全投入到了他们的分叉项目中,市场的混乱(大部分)得到了缓解,我们与 AWS 的合作伙伴关系比以往更强。我们甚至被评为 AWS 的年度合作伙伴。我一直希望时间能过去得足够久,以至于我们可以安全地回到开源项目的状态——现在终于到了。
[All The Stars] 我们希望尽可能简化用户的使用体验。我们有用户非常喜欢 ELv2(一个受 BSD 启发的许可)。我们也有用户已经批准使用 SSPL(通过 MongoDB 使用)。这就是为什么我们只是增加了一个选项,而不是移除任何东西。如果你已经在使用并喜欢 Elasticsearch,请继续使用,没有任何变化。对于其他人,现在你也可以选择使用 AGPL。
[LOYALTY.] 我们选择 AGPL 而不是其他许可,是因为我们希望通过与 OSI 的合作,能在开源许可领域创造更多的选项。随着我们更改许可以来的发展(例如 Grafana 从 Apache2 转移到 AGPL),也许 AGPL 已经足够适用于像我们这样的基础设施软件了。我们致力于找到最合适的解决方案。
[euphoria] 我非常高兴能够再次称 Elasticsearch 为开源软件。
[Alright] 任何改变都可能引发混淆,当然也可能引来一些网络喷子。(网络喷子总是存在的,对吧?)让我们愉快地回答一些可能出现的问题吧。我可以想象到的一些问题如下,但我们会继续补充。
“更改许可是个错误,Elastic 现在在回撤”:我们在三年前更改许可时消除了很多市场混乱。由于我们的行动,很多事情已经改变。现在是一个完全不同的市场环境。我们不生活在过去。我们希望为用户打造一个更好的未来。正是因为我们当时采取了行动,现在我们才有能力采取新的行动。
“AGPL 不是真正的开源许可,X 才是”:AGPL 是获得 OSI 批准的许可,并且被广泛采用。例如,MongoDB 曾经使用 AGPL,Grafana 现在也是 AGPL。这表明 AGPL 并不影响使用或流行度。我们选择 AGPL 是因为我们认为这是与 OSI 一起为世界开辟更多开源道路的最佳方式,而不是减少开源。
“Elastic 更改许可是因为他们表现不好”:我要说的是,我今天对 Elastic 的未来依然充满期待。我为我们的产品和团队的执行力感到无比自豪。我们发布了无状态的 Elasticsearch ES|QL 和大量用于 GenAI 用例的向量数据库/混合搜索改进。我们在日志记录和可观察性方面大力投入 OTel。我们的安全产品 SIEM 不断添加令人惊叹的功能,并且是市场上增长最快的产品之一。用户的反应让我们感到非常谦卑。股市总有起伏,但我可以向你保证,我们始终着眼于长远发展,而这次的变更就是其中的一部分。
如果我们看到更多问题,会在上面继续添加,以期减少混淆。
[HUMBLE.] 为未来而构建真是令人兴奋。Elasticsearch 回归开源。万岁!这真是一件美妙的事情。今天真是美好的一天。
Forever :elasticheart: Open Source
Shay 2024-08-30
---
原文地址:https://www.elastic.co/blog/el ... gain/
社区热评
Elasticsearch 再次回归开源的消息迅速引发了技术社区的广泛关注。这不仅是 Elastic 对自身开源信念的重申,也是其在激烈市场竞争中精心策划的一次战略调整。
三年前,Elastic 因与 AWS 的市场竞争而选择更改许可协议,这一决定在当时引发了不小的争议。尽管如此,事实证明,这一策略有效地减少了市场上的混淆,也为 Elastic 与 AWS 的合作奠定了更坚实的基础。如今,Elastic 再度选择开源,并新增 AGPL 作为许可选项,这一举措无疑展现了 Elastic 在市场中更加成熟的定位和对未来发展的自信。
这一变化不仅仅是一个公司的商业决策,更是开源生态系统的一次重要信号。Elastic 的回归开源,传递出一个明确的信息:即使在商业竞争中,开源仍然是企业实现长远发展的重要路径。随着这一决定的落地,其他软件公司可能也会重新审视自身的许可策略,推动更多开源项目的发展与创新。
此外,Elastic 选择 AGPL 作为新许可选项,也显示出其对开源生态未来走向的深刻洞察。AGPL 的引入,表明 Elastic 希望在开源社区中保持灵活性和多样性,同时推动整个行业向更加开放和透明的方向迈进。
总体而言,Elastic 重返开源的举动,不仅意在巩固其在开源社区中的地位,也为行业树立了一个新的标杆。这一事件无疑将成为开源软件发展史上的重要篇章,未来可能会激发更多企业重新考虑其开源战略,进而推动整个技术行业的进一步繁荣与进步。
让我们拭目以待!
ES在匹配结果数据量较少时,使用sort排序占用资源吗?
Fred2000 回复了问题 • 2 人关注 • 1 个回复 • 3008 次浏览 • 2024-08-28 10:16
【第3期】2024 搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 下篇
searchkit 发表了文章 • 0 个评论 • 3409 次浏览 • 2024-08-21 13:00
本次活动由 搜索客社区、极限科技(INFINI Labs)联合举办,活动主题将深入探讨 Elasticsearch 的两个核心方面:代码结构以及写入和查询的关键流程。本次活动将为 Elasticsearch 初学者和有经验的用户提供宝贵的见解,欢迎大家报名参加、交流学习。
活动主题:Elasticsearch 的代码结构和写入查询流程的解读 - 下篇
活动时间:2024 年 8 月 28 日 19:00-20:00(周三)
活动形式:微信视频号(极限实验室)直播
报名方式:关注或扫码海报中的二维码进行预约
![](https://infinilabs.cn/img/blog ... /1.png)
嘉宾介绍
张磊,极限科技搜索引擎研发负责人,对 Elasticsearch 和 Lucene 源码比较熟悉,目前主要负责公司的 Easysearch 产品的研发以及客户服务工作。
主题摘要
本次分享将探讨 Elasticsearch 的代码结构及其写入和查询流程。内容包括:项目架构、核心模块、插件系统,以及文档索引和查询的各个阶段与分布式查询协调。
活动亮点
- 深入解析 Elasticsearch 代码结构:
- 项目的整体结构:了解 Elasticsearch 项目的组织方式。
- 核心模块及其职责:学习 Elasticsearch 的核心模块及其在系统中的具体角色。
- 插件系统的设计:探索 Elasticsearch 灵活的插件系统设计及其扩展方式。
- 项目的整体结构:了解 Elasticsearch 项目的组织方式。
- 详细解读 Elasticsearch 写入和查询流程:
- 文档索引过程的各个阶段:跟随文档从初始接收至最终存储的索引过程。
- 查询解析和执行的步骤:理解 Elasticsearch 中查询解析和执行的各个步骤。
- 分布式查询的协调过程:学习 Elasticsearch 如何在分布式架构中协调查询,以提供高效且准确的搜索结果。
参与有奖
直播中将设有福袋抽奖环节,参与就有机会获得 INFINI Labs 周边纪念品,包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件等等(图片仅供参考,款式、颜色与尺码随机)。
![](https://infinilabs.cn/img/blog ... ts.png)
活动交流
本活动设有 Meetup 技术交流群,可添加小助手微信入群。
![](https://infinilabs.cn/img/comp ... at.jpg)
本次 Meetup 是深入了解 Elasticsearch 内部工作机制、提升使用技能的绝佳机会。不要错过!
Meetup 讲师招募
![](https://infinilabs.cn/img/blog ... ng.png)
搜索客社区 Meetup 的成功举办,离不开社区小伙伴的热情参与。目前社区讲师招募计划也在持续进行中,我们诚挚邀请各位技术大咖、行业精英踊跃提交演讲议题,与大家分享您的经验。
讲师报名链接:[http://cfp.searchkit.cn](http://cfp.searchkit.cn)
或扫描下方二维码,立刻报名成为讲师!
![](https://infinilabs.cn/img/blog ... de.jpg)
Meetup 活动聚焦 AI 与搜索领域的最新动态,以及数据实时搜索分析、向量检索、技术实践与案例分析、日志分析、安全等领域的深度探讨。
我们热切期待您的精彩分享!
往期回顾
- [【第 2 期】2024 搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 上篇](https://mp.weixin.qq.com/s/oQNej6aDMzLp64_AKxSONw)
- [【第 1 期】2024 搜索客 Meetup | Easysearch 结合大模型实现 RAG](https://mp.weixin.qq.com/s/7fpPFGKltJASspmIaUqJMg)
关于 搜索客(SearchKit)社区
搜索客社区由 Elasticsearch 中文社区进行全新的品牌升级,以新的 Slogan:“搜索人自己的社区” 为宣言。汇集搜索领域最新动态、精选干货文章、精华讨论、文档资料、翻译与版本发布等,为广大搜索领域从业者提供更为丰富便捷的学习和交流平台。
社区官网:[https://searchkit.cn](https://searchkit.cn) 。
- 文档索引过程的各个阶段:跟随文档从初始接收至最终存储的索引过程。
scroll拉取时中途出现空结果
Fred2000 回复了问题 • 2 人关注 • 2 个回复 • 3387 次浏览 • 2024-08-09 23:27
Elasticsearch 磁盘空间异常:一次成功的故障排除案例分享
INFINI Labs 小助手 发表了文章 • 0 个评论 • 3751 次浏览 • 2024-08-09 00:18
故障现象
近日有客户找到我们,说有个 ES 集群节点,磁盘利用率达到了 82% ,而其节点才 63% ,想处理下这个节点,降低节点的磁盘利用率。
起初以为是没有打开自动平衡导致的,经查询,数据还是比较平衡的。
![](https://infinilabs.cn/img/blog ... /1.png)
利用率较高的是 76 节点,如果 76 节点的分片比其他节点多,好像还比较合乎逻辑,但它反而比其他节点少了 12-15 个分片。那是 76 节点上的分片比较大?
索引情况
![](https://infinilabs.cn/img/blog ... /2.png)
图中都是较大的索引,1 个索引 25TB 左右,共 160 个分片。
分片大小
节点 64
![](https://infinilabs.cn/img/blog ... /3.png)
节点 77
![](https://infinilabs.cn/img/blog ... /4.png)
节点 75
![](https://infinilabs.cn/img/blog ... /5.png)
问题节点 76
![](https://infinilabs.cn/img/blog ... /6.png)
可以看出分片大小没有出现较大的倾斜,分片大小和数据平衡的原因都被排除。
换个方向思考,节点 76 比其他节点多使用了磁盘空间 8 个 TB 左右,集群最大分片大小约 140GB ,8000/140=57 ,即节点 76 至少要比其他节点多 57 个分片才行,啊这...
会不会有其他的文件占用了磁盘空间?
我们登录到节点主机,排查是否有其他文件占用了磁盘空间。
结果:客户的数据路径是单独的数据磁盘,并没有其他文件,都是 ES 集群索引占用的空间。
现象总结
分片大小差不多的情况下,节点 76 的分片数还比别的节点还少 10 个左右,它的磁盘空间反而多占用了 8TB 。
这是不是太奇怪了?事出反常必有妖,继续往下查。
原因定位
通过进一步排查,我们发现节点 76 上有一批索引目录,在其他的节点上没有,而且也不在 GET \_cat/indices?v
命令的结果中。说明这些目录都是 dangling 索引占用的。
dangling 索引产生的原因
当 Elasticsearch 节点脱机时,如果删除的索引数量超过 Cluster.indes.tombstones.size
,就会发生这种情况。
解决方案
通过命令删除 dangling 索引:
<br /> DELETE /\_dangling/<index-uuid>?accept_data_loss=true<br />
最后
这次的分享就到这里了,欢迎与我一起交流 ES 的各种问题和解决方案。
![](https://infinilabs.cn/img/blog ... gf.png)
关于极限科技(INFINI Labs)
![INFINI Labs](https://infinilabs.cn/img/blog ... bs.png)
极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。
极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。
官网:[https://infinilabs.cn](https://infinilabs.cn)
es8使用版本7的Rest-High-Level-client失败
biltong 回复了问题 • 2 人关注 • 3 个回复 • 3299 次浏览 • 2024-09-13 17:12
构建Elasticsearch专家Bot的详细步骤指南
森 发表了文章 • 0 个评论 • 3307 次浏览 • 2024-06-26 23:22
构建Elasticsearch专家Bot的详细步骤指南
步骤1: 文档搜集
- 利用专业工具搜集Elasticsearch 8.13.2版本的官方文档,确保文档的完整性和准确性。如:Elasticsearch文档
步骤2: 知识库建立
- 在coze.cn平台上创建一个专门的知识库,命名清晰,便于管理和识别。
步骤3: 文档上传
- 将搜集到的Elasticsearch文档上传至新创建的知识库,确保文档格式适合后续的检索和分析。
步骤4: Bot创建
- 在coze.cn上创建一个新的Bot,命名为“Elasticsearch专家”,为其设定一个专业且引人注目的形象。
步骤5: 知识库配置
- 将步骤2中的知识库与新创建的Bot进行关联,确保Bot能够访问和利用这些文档资源。
步骤6: 功能插件集成
- 为Bot添加以下功能插件,以提供更全面的服务:
- 必应搜索引擎(Bing Web Search):扩展信息检索范围。
- 代码执行器(CodeRunner):实现代码的即时测试与验证。
- 微信搜索(WeChat Search):增加中文信息源的覆盖。
步骤7: 人设与回复逻辑定制
- 必应搜索引擎(Bing Web Search):扩展信息检索范围。
- 设定Bot的人设,明确其专业领域和能力,如:“我是Elasticsearch的专家,随时准备解答你的疑问。”
- 利用coze平台的AI技术,优化Bot的回复逻辑,确保其回答既准确又具有针对性。
步骤8: 测试与调整
- 在Bot设置完成后,进行全面的测试,确保其能够正确理解和回应各种查询。
- 根据测试反馈,调整Bot的交互逻辑和回答内容,以提高用户满意度。
步骤9: 发布与分享
- 完成所有设置和测试后,点击发布,使Bot正式上线。
- 通过Bot页面的商店功能,将你的“Elasticsearch专家”Bot分享给你的伙伴们,让他们也能享受到这一强大的学习工具。
步骤10: 持续优化与更新
- 定期回顾Bot的表现,根据用户反馈进行持续的优化和功能更新。
- 随着Elasticsearch版本的迭代,及时更新知识库内容,确保Bot提供的信息始终最新。
通过遵循这些步骤,你不仅能够构建一个功能全面的Elasticsearch专家Bot,而且能够确保它随着时间的推移不断进化,满足用户日益增长的需求。这将是一个不仅能提供文档查询,还能执行代码和搜索网络的智能助手,极大地提升你的Elasticsearch学习之旅。
极限网关助力好未来 Elasticsearch 容器化升级
INFINI Labs 小助手 发表了文章 • 0 个评论 • 3404 次浏览 • 2024-06-12 15:01
极限网关在好未来的最佳实践案例,轻松扛住日增百 TB 数据的流量,助力 ES 从物理机到云原生架构的改造,实现了流控、请求分析、安全管理、无缝迁移等场景。一次完美的客户体验~
背景
物理机架构时代
2022 年,好未来整个日志 Elasticsearch 拥有数十套服务集群,几百台物理机。这么多台机器耗费成本非常高,而且还要花费很大精力去维护。在人力资源有限情况下,存在非常多的弊端,运行成本高,不仅是机器折旧还有机柜等费用。
流量特征
这是来自某个业务线,如下图 1,真实流量,潮汐性非常明显。好未来有很多条业务线,几乎跟这个趋势都一致的,除了个别业务有“续报”、“开课”等活动特殊情况。潮汐性带来的问题就是高峰期 CPU、内存资源是可以消耗很高;低峰期资源使用量非常低,由于是物理架构,这些资源无法给其他业务线共享。
![图1](https://infinilabs.cn/img/blog ... /1.png)
图1
### 降本增效-容器化改造原动力
日志服务对成本的空前的压力促使我们推进 Elasticsearch 进行架构改造;如何改造,改造成什么样子,这两个问题一直是推进改造原动力。业界能够同时对水平扩展和垂直扩展就是 K8S,我们开始对 Elasticsearch 改造成能在 K8S 上运行进行探索,从而提升 CPU、内存利用率。
物理机时代,没办法把资源动态的扩缩,动态调配,资源隔离,单靠人力操作调度成本太高,几乎无法完成;集群对内存资源需求要比 CPU 资源大很多,由于机器型号配置是固定的,无法“定制”,这也会导致成本居高不下。所以,无论从那个方面来讲,容器化优势非常明显,既能够优化成本,也能够降低运维复杂度。
## ES 容器化改造
### 进行架构升级重点难点- API 服务
改造过程,我们遇到了很多问题,比如容器 ES 版本和物理机 ES 版本不一致,如何让 ES API 能够兼容不同的 ES 版本,由于版本的不兼容,导致无法直接使用原有的 tribenode 进行服务,怎么提供一个高可用的 Elasticsearch API 服务。我们考虑到多个方面,比如使用官方推荐的 proxy 模式、第三方服务等进行选择,经过多方面对比,选择了[极限网关](https://infinilabs.cn/products/gateway/) 进行 tribenode 替换。
### 原始 ES API 服务痛点
- API 访问没有流量控制
- 可观测性差,而且稳定性一般
- 版本兼容性差
### 物理机时代 API 架构
在物理机时代 ES 集群,API 架构如图 2,可以明显看到 tribe node 对所有 ES 集群的“侵入性”是非常大的,这就带来了很多问题,比较严重的就是单个集群对 ES tribenode 的影响和版本升级带来的不兼容问题。
![图2](https://infinilabs.cn/img/blog ... /2.png)
图2
### 混合时代 API 架构
通过图 3,我们可以看到,极限网关对于版本兼容性很好,能够适配不同的版本。因此,最终选择极限网关作为下一代 ES API 服务方。
![图3](https://infinilabs.cn/img/blog ... /3.png)
图3
### 里程碑:全部 ES 集群容器化
在 2023 年 3 月份,通过 Elastic 官方 ECK 模式,完成全部日志 ES 集群容器化改造,拥有数百节点,1PB+ 数据存储,每日新增数据 100T 左右。紧接着,除了日志服务外,同时支持了好未来多条业务线。
![图4](https://infinilabs.cn/img/blog ... /4.png)
图4
## 极限网关实践
下面主要讲述了,为什么选择极限网关,以及极限网关在好未来落地、应用这些内容。
### 为什么选择极限网关?
**学习成本低**
我们可以从文档中看到极限网关,其架构简洁,语法简单,直观易懂。学习成本比较低,上手非常快,对新手友好。
**性能强悍**
经过压测,发现极限网关速度非常快,且针对 Elasticsearch 做了非常细致的优化,能成倍提升写入和查询的速度。
**安全性高**
支持多种认证方式,最简单的账号密码认证,可以给自定义多个账户密码,大大简化了 Elasticsearch 的安全设置,同时,还可以支持 LDAP 安全验证。
**跨版本支持**
我们容器化改造过程需要兼容不同版本的 Elasticsrearch,极限网关针对不同的 Elasticsearch 版本做了兼容和针对性处理,能够让业务代码无缝的进行适配,后端 Elasticsearch 集群版本升级能够做到无缝过渡,降低版本升级和数据迁移的复杂度,非常匹配我们的业务场景。
**灵活可扩展**
可灵活对每个请求进行干预和路由,支持路由的智能学习,内置丰富的过滤器,通过配置动态修改每个请求的处理逻辑,也支持通过插件来进行扩展,满足我们对流量的控制,尤其是限流、用户、IP 等这些功能非常实用。
### 启用安全策略-为 API 服务保驾护航
**痛点**
在升级之前使用 tribe 作为 API 服务提供后端,几乎相当于裸奔,没有任何认证策略;另外,tribe 本身的稳定性也有问题,官方在新版本逐渐废弃这种 CCS(跨集群搜索),期间出现多次服务崩溃。
### 极限网关解决问题
极限网关通过,“basic_auth” 插件,提供最基本的安全校验,使用起来非常方便;同时,极限网关提供 LDAP 插件,可以接入公共的 LDAP 服务,对所有的访问用户进行校验,安全策略对所有的用户生效,不用担心因为 IP 问题泄漏数据等。
**强大的过滤功能**
在使用 ES 集群过程中,许多场景,需要对请求进行控制、限制等操作。在这方便,感受到了极限网关强大的产品力。比如下面的两个场景
**对异常流量进行限流**
- 支持对 IP 限流
- 支持对 hostname 限流
- 支持 header 限流
**对异常用户进行封禁**
当 Elasticsearch 是通过 Basic Auth 或者 LDAP 方式来进行身份认证的时候,`request_user_filter` 过滤器可用来按请求的用户名信息来进行过滤。操作起来也非常简单,只需要 `request_user_filter` 这一个过滤器。
```ymal
- request_user_filter:
include:
- "elastic"
exclude:
- "Ryan"
```
总结来讲,主要有这些方面的功能:
![图5](https://infinilabs.cn/img/blog ... /5.png)
图5
### 优秀的可观测性
**痛点**
改造前经常为看不到直观的数据指标感到头疼,查看指标需要多个地方同时打开,去筛选,查找,非常繁琐,付出的成本非常大。为此,大家都再考虑如何优化这种情况,无奈优先级比较低,一直没有真正的投入时间去优化这块。
**完美解决**
使用了极限网关,通过收集请求日志,非常清晰的收集到想要的数据,具体如下:
- 总体方面:
- 流量曲线
- 状态码占比
- 缓存统计
- 每台网关请求流量
- 细节方面:
- 打印每次请求语句
- 可以查看请求到具体 ES 节点流量
- 可以查看过滤器的列表
通过下图,我们可以从管理视角直观的看到各种信息,这对于管理员来讲,省时省力,方便快捷。
![图6](https://infinilabs.cn/img/blog ... /6.png)
图6
### 意外收获:无缝迁移业务 Elasticsearch 上云
由于前期日志业务上云,受到非常好的反馈,多个业务线期望能够上云上服务,达到降本增效的目的。
**支持双写**
数据可以通过极限网关同时写入两个 ES 集群,能够保障数据完全一致,安全可靠。
**无缝切换**
切换很丝滑,影响非常小,能够让外界几乎感受不到服务波动。
![图7](https://infinilabs.cn/img/blog ... /7.png)
图7
通过使用极限网关,自建 ES 集群可以无缝的迁移上云,在整个迁移的过程中,两套集群通过网关进行了解耦,在迁移的过程中还能实现版本的无缝升级,极大降低了迁移成本,提高迁移效率,多次验证服务稳定可靠。
### 极限网关流量概览
这是其中一套极限网关的流量统计。用这部分数据进行巡检,一目了然,做到全局的掌控,提高感知力度。
![](https://infinilabs.cn/img/blog ... /8.png)
![图8](https://infinilabs.cn/img/blog ... /9.png)
图8
### 极限网关使用总结
极限网关提供一系列高性能和高可靠性的网关服务。使用这样的服务给我们带来以下好处:
1. **可观测性好**:极限网关可以动态的对 Elasticsearch 运行过程中请求进行拦截和分析,通过指标和日志来了解集群运行状态,这些指标可以用于提升性能和业务优化。
2. **增强安全性**:包含先进的安全机制,如 basicauth、LDAP 等支持,保护用户数据不受未授权访问和各种网络威胁的侵害。
3. **高稳定性**:通过冗余设计和故障转移机制,极限网关能够确保网络服务的高可用性,即使在某些组件发生故障时也能保持服务不中断,单版本最长服务超过 15 个月。
4. **易于管理**:通过提供 [INFINI Console](https://infinilabs.cn/products/console/) 简洁直观的管理界面,让用户能够轻松配置和监控网络状态,提升管理效率。
5. **客户支持**:良好的客户服务支持可以帮助用户快速解决使用过程中遇到的问题,提供专业的技术指导。
综上所述,极限网关为用户提供了一个高速、安全、稳定且易于管理的 ES 网关,适合对网络性能有较高要求的个人和企业用户。
## 未来规划
第一阶段,完成了日志 ES 集群,所有集群的容器化改造,合并,成功的把成本降低了 60%以上。这期间积累了丰富容器化经验,为业务 ES 集群上容器做了良好的铺垫;成本优势和运维优势吸引越来越多的业务接入到容器化 ES 集群。
### 提升 ES 集群效能--新技术应用&&版本升级
- 极限科技官方推荐的 [Easysearch](https://infinilabs.cn/products/easysearch/) 在压缩率,查询速度等等方面有很多的优势,通过长时间的测试稳定性,新特性,对比云原生的 ES 集群,根据测试结果,给“客户”提供多种选择,这也是工作重点之一。
- 我们当前使用的 ES 版本是 6.8,已经远远落后于官方版本,今年我们计划在选择合适的集群升级 ES 版本,拥抱更多官方提供的特性。
### 混合(多)云架构支持
随着越来越多的 ES 集群在机房的 K8S 集群部署,这里资源出现了紧张局面。 我们尝试在云上部署自建 ES 集群,弥补机房资源有限,无法大规模扩容,同时能够支持多活场景,满足更多客户的不同需求。混合云主要实现以下几种能力:
**1、扩缩容:满足不同业务灵活适配**
混合(多)云部署,可以让负载内部私有云 ES,同时部署到公有云,提升扩展 IT 基础设施不仅局限于 CPU、内存,还有存储。比如某一个业务要做活动,预估流量“大爆发”,需要提前准备大规模资源,在机房内根本来不及采购扩容支持,然而在公有云上就能很方便扩容、缩容。在云上搭建 ES 集群,设置满足需求的数量、容量、配置,配合极限网关路由策略,精准的把控流量流向。
![图9](https://infinilabs.cn/img/blog ... 10.png)
图9
**2、灾备:紧急情况快速部署,恢复 ES 集群读写**
当机房级别大规模故障,部分业务实现了多活,单一的机房故障不会影响其服务能力,而此时比如日志查看等仍有需求,为了满足这部分“客户”需求,可以在云上 K8S 集群,快速搭建 ES 集群,恢复日志读写功能。
![图10](https://infinilabs.cn/img/blog ... 11.png)
图10
参考文档:
- <https://infinilabs.cn/docs/latest/gateway>
- <https://www.elastic.co/guide/e ... gt%3B
作者:张华勋,前新浪 CDN 研发,工作主要涉及 Mysql、MongoDB、Redis、Elasticsearch、流量调度等组件和系统,以及运维自动化、平台化等工作。现就职于好未来。
## 关于好未来
好未来(NYSE:TAL)是一家以内容能力与科技能力为基础,以科教、科创、科普为战略方向,助力人的终身成长,并持续探索创新的科技公司。 好未来的前身学而思成立于 2003 年,2010 年在美国纽交所正式挂牌交易。好未来以“爱与科技助力终身成长”为使命,致力成为持续创新的组织。更多参见:<https://www.100tal.com/>
## 关于极限科技(INFINI Labs)
![INFINI Labs](https://infinilabs.cn/img/blog ... bs.png)
极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。
极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。
官网:<https://www.infinilabs.cn>
![联系我们](https://www.infinilabs.cn/img/ ... us.png)