Opensearch架构及引擎原理

Opensearch架构及引擎原理开放搜索 OpenSearch 是一款结构化数据搜索托管服务 特点 单应用亿级别文档搜索 毫秒级别查询延迟 万级别 QPS 数据的导入与查询导入 实时数据进入 import 子系统的数据导入模块 之后经过格式转换和数据解析进入到结构化存储系统 然后被 import 子系统的导出模块 经过处理后放入到实时消息系统 Swift 中 HA3 订阅 Swift 中的数据 拿到数据后在内存构建索引并提供服务 查询 通过查询聚

开放搜索(OpenSearch)是一款结构化数据搜索托管服务。

特点:单应用亿级别文档搜索 ,毫秒级别查询延迟 ,万级别QPS

数据的导入与查询

导入:实时数据进入import子系统的数据导入模块,之后经过格式转换和数据解析进入到结构化存储系统,然后被import子系统的导出模块,经过处理后放入到实时消息系统Swift中,HA3订阅Swift中的数据,拿到数据后在内存构建索引并提供服务。

查询:通过查询聚合服务,查询HA3中的信息并返回。

Opensearch架构及引擎原理

HA3引擎原理

    分布式实时搜索系统

Opensearch架构及引擎原理

Admin是整个系统的大脑,负责节点角色分配、调度决策、FailOver处理、状态监测、动态扩容等

Amonitor是系统的性能状态监控模块,收集和展示整个系统所有节点的性能参数

QRS是查询解析和改写服务,是系统对外的搜索接口。Proxy是搜索代理模块,负责接收QRS的查询请求,并转发给下辖的所有Searcher节点

Searcher节点执行实际的查询匹配计算,将搜索结果汇总后回传给QRS

DeployExpress是分布式链式数据实时分发系统,负责将离线集群构建好的索引数据分发到各个Searcher节点.

DeployExpress的最大亮点是将1份数据分发多份拷贝到Searcher节点,其分发时间接近单份拷贝的数据分发时间,而且单节点故障能自动恢复,不影响数据拷贝

部署架构

HA3的多集群异构部署,一般用来实现冷热数据分层查询、异构数据查询等功能。OpenSearch利用异构逻辑集群优化资源配置,提升系统服务能力和降低机器成本。不同特性的应用实例被分配在不同的逻辑Cluster中



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228748.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:18
下一篇 2026年3月16日 下午6:18


相关推荐

  • idea在mac版怎么配置svn_IntelliJ Idea 集成svn 和使用

    idea在mac版怎么配置svn_IntelliJ Idea 集成svn 和使用最近公司的很多同事开始使用IntelliJIdea,便尝试了一下,虽然快捷键与eclipse有些不同,但是强大的搜索功能与“漂亮的界面”(个人认为没有eclipse好看),还是值得我们去使用的。刚开始使用的idea要去集成svn,下载公司的项目。我是用的是TortoiseSVN(小乌龟),下载后安装,然后记住安装路径,我安装的是64位的。TortoiseSVN的下载地址:htt…

    2022年10月17日
    7
  • 分享到:

    分享到:

    2026年3月13日
    2
  • JavaScript专题(二)数组去重,会就要会的理直气壮

    JavaScript专题(二)数组去重,会就要会的理直气壮相信当部分开发同学都会遇到这个问题,它的答案有很多种,但是想要真的的回答好这个问题却比较难,我们今天来看看应该怎么回答这个问题。本文篇幅较长,不妨收藏下来慢慢阅读~

    2022年6月16日
    31
  • PyCharm安装配置Qt Designer+PyUIC教程

    PyCharm安装配置Qt Designer+PyUIC教程QtDesigner 用于像 VC 的 MFC 一样拖放 设计控件 PyUIC 用于将 QtDesigner 生成的 ui 文件转换成 py 文件 QtDesigner 和 PyUIC 都包含在 PyQt5 中 所以我们只需要安装 PyQt5 塻块然后再指定 QtDesigner 和 PyUIC 即可为了避免篇幅过长 本文只讲安装配置 使用可查看 PyCharm QTDesigner PyUIC 使用教程 nbsp 一

    2026年3月27日
    2
  • containsKey使用方法[通俗易懂]

    containsKey使用方法[通俗易懂]作用是判断Map中是否有所需要的键值,下面是具体的代码:

    2022年7月3日
    39
  • Windows下面的Netstat命令详解

    Windows下面的Netstat命令详解  netstat[-a][-e][-n][-o][-pProtocol][-r][-s][Interval] 参数解释:-a 显示所有活动的TCP连接以及计算机侦听的TCP和UDP端口。 -e 显示以太网统计信息,如发送和接收的字节数、数据包数。该参数可以与-s结合使用。 -n 显示活动的TCP连接,不过,只以数字…

    2022年5月30日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号