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

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

数据的导入与查询

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

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

HA3引擎原理

分布式实时搜索系统

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

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

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

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

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

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

部署架构

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

Opensearch架构及引擎原理相关推荐

  1. BitCask 持久化hash存储引擎 原理介绍

    文章目录 前言 引擎背景 引擎原理 1. 磁盘数据结构 2. 内存数据结构 3. 读流程 4. 数据合并 总结 前言 最近工作中部分项目中,对存储引擎的需求希望高性能的写.点查,并不需要Range.这 ...

  2. 11.InfluxDB引擎原理

    11.InfluxDB引擎原理 转自:https://www.yisu.com/zixun/36153.html 11.1.引言 InfluxDB是一款Go语言写的时序数据库.时序数据库主要用于存储基 ...

  3. 交易所撮合引擎原理及实现代码

    交易撮合引擎(Matching/Trading Engine),顾名思义是用来撮合交易的软件,广泛地应用在金融.证券.加密货币交易等领域.交易引擎负责管理加密资产市场中所有的开口订单(Open Ord ...

  4. 一文带你了解 Spark 架构设计与原理思想

    卷友们,大家好 ~ 我是 Alex .之前已经陆续输出了 Hadoop三大核心组件 的 架构思想和原理 和 Hive架构设计和原理 ,每篇都受到了读者小伙伴们的一致好评 ~ 感谢大家的支持.大家可能已 ...

  5. MySQL高级部分( 二: MySQL架构、引擎、索引)

    MySQL高级 二: MySQL架构.引擎.索引.事务 MySQL架构 MySQL 的完整架构图 各层介绍 连接层 服务层 存储引擎层 Pluggable Storage Engine 物理文件存储层 ...

  6. smarty模板引擎原理解析

    //php 控制器文件 <?php //引入模板引擎文件 include("20130304.php"); $smarty = new TinySmarty(); $qq_n ...

  7. Sizzle引擎--原理与实践(二)

    主要流程与正则 表达式分块 var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['& ...

  8. php模板引擎哪个好,php模板引擎原理是什么?

    php模板引擎原理是作为视图层和模型层分离的一种有效解决方案,让前后端更好的分工协作,来自于经典的MVC模型,即[模型层-视图层-控制器模型],将M和V实现代码分离,从而使同一个程序可以使用不同的表现 ...

  9. 【Android架构师java原理详解】二;反射原理及动态代理模式

    前言: 本篇为Android架构师java原理专题二:反射原理及动态代理模式 大公司面试都要求我们有扎实的Java语言基础.而很多Android开发朋友这一块并不是很熟练,甚至半路初级底子很薄,这给我 ...

最新文章

  1. 华科与浙大计算机学院,计算机最强14所高校排名,清华第2,浙大第4,南大第6,华科第10...
  2. VTK:图片之ImageRange3D
  3. arm学习笔记五(c/c++与arm汇编混合编程)
  4. ASP.NET 2.0中将 GridView 导出到 Excel 文件中
  5. python cmath模块_cmath模块-PYTHON
  6. 从青铜到王者,来聊聊 Synchronized 底层实现原理 | 原力计划
  7. unity多边形uv地图
  8. wxWidgets第十七课 采用AGG渲染库
  9. 电信用户流失预测Telco customer churn—(基于逻辑回归)
  10. 【Java架构师入门到精通】java分布式架构有哪些技术
  11. 基于AHP(层次分析法)确定权值的模糊综合评价
  12. java.lang.IllegalStateException: Could not find method onClick(View) in a parent or ancestor Context
  13. hdfs 元数据维护机制
  14. 《那些年啊,那些事——一个程序员的奋斗史》——47
  15. opa学习1--开发环境搭建
  16. Tomcat单机多实例配置
  17. 新标准下企业申请测绘资质相关问题与解答
  18. Source-Code-Notebook(源码解析和逐行笔记)
  19. 哈拉比数据库;为了家人
  20. linux查进程位置的命令

热门文章

  1. md5sum命令的使用
  2. WPS技巧之保护工作表实现允许部分单元格输入内容
  3. 《SQL经典实例》六——字符串处理
  4. 补码一位乘(布斯公式)
  5. ArduPilot之H743+BMI270x2+First Normal Takeoff
  6. PageHelper分页的坑,查出来的total有误,总是等于pageSize的值
  7. union和union all的区别,hive遇到Schema of both sides of union should match处理办法
  8. 【转】用户管理模块:如何保证用户数据安全?
  9. openwrt安装USB声卡播放音乐
  10. 空气源热泵设备远程监控的优点