亚马逊云Amazon OpenSearch Serverless“利刃在手,‘向量’八方“

全Serverless架构新价值

随着Amazon OpenSearch Serverless正式上线“商用”,亚马逊云科技的全栈“Serverless”应用架构也“初见雏形”,这也意味着,未来企业可以在亚马逊云科技之上简单和轻松的搭建完整的无服务器应用架构。

数据也显示,目前亚马逊云科技Serverless服务的活跃用户超过100万,同时每月的调用请求量超过100万亿次,可以说亚马逊云科技在Serverless领域的领导地位获得了客户和行业的广泛认可。

但是,亚马逊云科技的创新步伐“并未止步”,以Amazon Lambda服务为例,八年前发布的Lambda虽然展示了亚马逊云科技对 Serverless 的愿景,但不可否认的是,当时的Serverless技术仍旧不够成熟,直到本次re:Invent 2022,Lambda SnapStart新功能的推出,实现了Serverless 的冷启动速度的大幅优化,再加上其数据分析服务核心产品全面“Serverless化”完成,更真正标志着亚马逊云科技将Serverless架构真正实现了“普惠化”,相信将为更多企业上云带来更多的选择和更好的服务。

那么,Lambda SnapStart为何如此重要呢?这就需要回到用户的实际应用场景之中,Serverless服务虽然能够在需要的时候唤醒并分配虚拟机或者容器,实现了真正意义上的“按需分配”,但在具体的应用实践中,由于网络延迟等因素的出现,很容易让用户在使用这一服务时产生短暂的等待时间,严重影响用户体验。 举个通俗易懂的例子,一个智能门禁的供应商,后台应用采用的是Serverless服务,当有人刷门禁时才启动应用。在早上出门或晚上回家高峰期用户活跃时,虚拟机可能处于常开状态。在夜间或者其它时段用户不活跃时,关闭了虚拟机,这也意味着在这个时段每次启动应用,都会需要花费一定的时间——也就是说,Serverless服务的响应时间会影响到应用响应时间,进而影响用户体检,让用户感觉后台应用响应迟滞。从这个角度来看,缩短无服务器计算服务的冷启动时间对用户体验具有重要意义。

事实上,此前亚马逊云科技已经通过Firecracker microVM等技术改进,让无服务器服务启动的时间缩短到1秒以内,而这次全新发布的Lambda SnapStart功能,再次将启动时间再缩短90%,而这一功能的推出,无疑有利于更多的应用采用Serverless架构,因为它真正让Serverless服务带给企业客户的体验,就像虚拟机24小时开机、全天候服务一样,同时应用性能的一致性也有了更好的保障。

数据显示,2020年全球Serverless服务市场规模达到446.1 亿元,其中中国Serverless服务的市场规模达到63.7亿元,约占全球市场的14.3%,而随着亚马逊云科技全Serverless架构的搭建完成,相信也将会加速中国乃至全球的Serverless化进程。

配置 OpenSearch Serverless 集合

要开始使用 Amazon OpenSearch Serverless,可以通过 AWS 管理控制台、AWS 命令行接口(AWS CLI)或 AWS API 创建一个 Collection(集合)。

在启动 OpenSearch Serverless 之前,需要首先创建一个托管式集群,指定实例类型、数量和存储选项,然后管理该集群内索引的生命周期和分片策略。可以使用 OpenSearch Serverless 创建一个集合来管理一组索引,这些索引协同工作以支持特定的工作负载。不再需要直接指定硬件或管理索引。

要创建 OpenSearch Serverless 集合并保护数据,需要设置 Encryption policies(加密策略)以将 AWS KMS 密钥分配给一个或多个集合,然后将 Network policies(网络策略)附加到集合,以控制来自指定 VPC 和公有 IP 地址的访问。

要创建加密策略,请在左侧导航窗格中选择 Encryption policies(加密策略)和 Create encryption policy(创建加密策略)。静态加密可保护集合中的索引。对于每个集合,AWS KMS 都会生成一个唯一的对称加密密钥。加密策略是跨多个集合管理 AWS KMS 密钥的理想方式。可以定义目标集合名称或前缀,这会自动将此策略中的加密设置应用到集合。

要允许用户访问集合,请在左侧导航窗格中选择 Network policies(网络策略),然后选择 Create network policy(创建网络策略)。网络策略决定了的集合是否可以通过互联网从公共网络访问,还是必须通过 OpenSearch Serverless 托管式 VPC 端点进行访问。

可以为每个集合定义多条规则,Access Type(访问类型)可以是 Public(公有)或 VPC,后者是推荐选项。如果选择公有选项,则可以从 OpenSearch 控制面板访问集合。此外,可以配置 OpenSearch 控制面板和 OpenSearch 端点的访问权限。对于 esource type(资源类型),请同时启用对 OpenSearch 端点的访问和对 OpenSearch 控制面板的访问。在这两个输入框中,选择 Collection Name 属性和的集合名称或前缀。最后,要创建 OpenSearch Serverless 集合,请在主页中选择 Create collection(创建集合),或者在左侧导航窗格中选择 Collections(集合),然后选择 Create collection(创建集合)。

上传和搜索集合中的数据

以下示例策略为单个用户提供了在的集合中创建索引、为某些数据创建索引以及进行搜索所需的最低权限。请将主体 ARN 替换为将用于登录 OpenSearch 控制面板的账户的 ARN。

[{"Rules": [{"ResourceType": "index","Resource": ["index/books/*"],"Permission": ["aoss:CreateIndex","aoss:ReadDocument","aoss:UpdateIndex","aoss:DeleteIndex","aoss:WriteDocument"]}],"Principal": ["arn:aws:iam::123456789012:user/admin"]}
]

现在,可以使用 Postman 或 curl 将数据上传到 OpenSearch Serverless 集合。也可以在 OpenSearch 控制面板控制台中使用开发工具。在集合的详细信息页面上选择 OpenSearch Dashboards(OpenSearch 控制面板)。

使用在数据访问策略中为主体指定的 AWS 访问密钥和秘密密钥登录 OpenSearch 控制面板。在 OpenSearch 控制面板中,打开左侧导航菜单并选择 Dev Tools(开发工具)。要创建一个名为 books-index 的单一索引,请运行 PUT books-index,然后将第一个单一文档索引到 books-index 中。

也可以在开发工具中查询搜索数据。

GET books_index/_search
{"query": {"simple_query_string": {"query": "Jeff","fields": ["author"]} }
}

对于时间序列数据,可以使用所有串流摄取选项来摄取数据,例如原生的 OpenSearch 串流 API、Amazon Kinesis Data Firehose、AWS Glue 以及各种开源串流摄取管道,例如 Logstash、FluentBit、Fluentd 和 Data Prepper。

此外,可以从 OpenSearch Service 上的托管式集群拍摄数据快照,然后将其还原到集合中,从而轻松迁移工作负载。数据进入集合后,可以使用自己喜欢的 OpenSearch 客户端对其进行查询,并使用 OpenSearch 控制面板以交互方式分析以及实现数据可视化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/192220.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜索二叉树(二叉搜索树)的实现(递归与非递归)

一、搜索二叉树的概念 搜索二叉树又称二叉排序树,二叉搜索树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点…

LeetCode994.腐烂的橘子

看完题我觉得这不是和上一道岛屿的题一样简单嘛,然后写了将近2个小时才写出来,我的思路就是,用check()先对grid检查一下,是否有以下情况: (如果有1的周围都是空,则这个位置用不腐烂,…

cesium雷达效果(脉冲圆)

cesium雷达效果(脉冲圆) 下面富有源码 实现思路 使用ellipse方法加载圆型,修改ellipse中‘material’方法重写glsl来实现当前效果 示例代码 index.html <!DOCTYPE html> <html lang="en"><head>

RT-Thread基于STM32H743的网络通信调试

使用STM32H743开发网络通信&#xff0c;本以为会很简单&#xff0c;实际却遇到好多问题&#xff0c;记录一下&#xff0c;以备后续查看。 1.新建工程&#xff0c;系统版本选择的是4.1.1&#xff0c;芯片型号是STM32H743IIK6. 2.修改系统时钟&#xff0c;使用外部25MHz晶振&…

复旦大学EMBA深度链接深圳科创产业:聚焦智联,产融未来

作为科创成就的经济大区&#xff0c;深圳南山区通过跨界创新研发生态链条&#xff0c;领跑科创产业创新&#xff0c;以187.5平方公里的面积&#xff0c;雄踞着204家上市公司&#xff0c;地均生产总值产出达到了40.7亿元&#xff0c;相当于每平方公里出产超过1家上市公司&#x…

从C语言的面向过程编程过渡理解面向对象编程风格中的封装

黑发不知勤学早&#xff0c;白首方悔读书迟 专栏推荐Easyx学习实践 有所收获希望大家能够三连哇&#xff01;&#xff01;&#xff01; 在C语言中&#xff0c;我们解决一个问题通常是采用在了解了问题如何解决后&#xff0c;设置一个一个的函数&#xff0c;依次调用实现不同的功…

解决:微软在登录时总是弹出需要家长或监护人同意才能使用该账户并且不断循环?

目录 问题来源&#xff1a; 解决办法&#xff1a; 问题来源&#xff1a; 我的edge浏览器账号登录&#xff0c;一直弹出来需要家长或监护人同意才能使用&#xff0c;然后按照提示操作&#xff0c;会一直循环&#xff0c;是个无穷循环。 解决办法&#xff1a; 参考&#xff1…

Qt6版使用Qt5中的类遇到的问题解决方案

如果有需要请关注下面微信公众号&#xff0c;会有更多收获&#xff01; 1.QLinkedList 是 Qt 中的一个双向链表类。它提供了高效的插入和删除操作&#xff0c;尤其是在中间插入和删除元素时&#xff0c;比 QVector 更加优秀。下面是使用 QLinkedList 的一些基本方法&#xff1a…

电子电器架构 —— 车载网关边缘节点总线转换

电子电器架构 —— 车载网关边缘节点路由转发策略 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 PS:小细节,本文字数3000+,详细描述了网关在车载框架中的具体性能设置。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无…

信号完整性分析基础知识之有损传输线、上升时间衰减和材料特性(十):有损传输线在时域中的表现

如果高频衰减大于低频衰减&#xff0c;随着信号传输&#xff0c;上升时间将会增加。上升时间通常定义为边沿在最终值的 10% 到 90% 之间过渡的时间。这假设信号的边缘轮廓看起来有点高斯分布&#xff0c;中间是最快的斜率区域。对于该波形&#xff0c;10%−90% 的上升时间是有意…

使用SpringBoot Actuator监控应用

使用SpringBootActuator监控应用 微服务的特点决定了功能模块的部署是分布式的&#xff0c;大部分功能模块都是运行在不同的机器上&#xff0c;彼此通过服务调用进 行交互&#xff0c;前后台的业务流会经过很多个微服务的处理和传递&#xff0c;出现了异常如何快速定位是哪个…

Windows上搭建一个网站(基本生产环境)

前言 本博客记录的是Windows上一次网站搭建的过程&#xff0c;主要是在前端采用的是React&#xff0c;后端采用的是Flask&#xff0c;记录一下生产版本搭建流程和坑点&#xff0c;供有缘人一起进步&#xff0c;当然本博客还存在很多不足。 前端项目构建生产版本 以React为例…