云原生应用架构

news2024/12/24 9:09:01

本博客地址:https://security.blog.csdn.net/article/details/130566883

一、什么是云原生应用架构

成为云原生应用至少需要满足下面几个特点:

● 使用微服务架构对业务进行拆分。单个微服务是个自治的服务领域,对这个领域内的业务实体能够进行独立的、完整的、自洽的管理。

● 使用云原生的中间件。微服务通常会依赖常用的中间件,比如消息通信中间件、内存缓存中间件等,采用的中间件技术也是云原生的。

● 应用需要能够自动检查故障并从故障中恢复。微服务本身需要配置可用性检查和存活性检查,在自动化地发现故障后,能够自动通过重启、迁移等方式进行自动恢复。

● 应用能够自动地进行弹性伸缩。云原生需要能够自动统计、感知业务请求压力超过阈值,同时根据请求压力大小自动进行弹性扩缩容。

● 应用配置外置。一个应用运行所需要的配置数据需要存储到一个外置的空间中,这个空间可以独立地管理并进行数据修改。应用能够自动使用并感知这个配置的改变,然后根据配置进行自动调整。

在满足上述对应用架构几点要求的基础上,再辅助云原生平台提供的容器化运行、声明式发布以及使用服务监测和治理,就形成了云原生应用的架构。

二、云原生应用典型架构

云原生应用典型架构图如下所示:

在这里插入图片描述

从图上看到:

1、在标号①的位置,服务通过注册中心将自己的地址和服务名等数据注册到注册中心。微服务通过在服务注册中心查询目标服务名来获取目标服务的访问地址和端口,然后发起对目标服务的访问。在这个典型云原生应用架构中,用三个微服务Pod来作为示例,分别是登录服务、订单服务和计费服务。这三个服务的实现机制分别是Tomcat Web服务、常规Java Http服务和使用Golang Web框架编写的服务。

2、在标号②的位置展现了云原生架构中外部网关服务的功能,内部的服务将其REST接口声明和地址注册到网关上,外部的客户端(如前端页面或其他第三方App)通过网关地址发起对微服务业务系统的请求。

3、针对每个微服务Pod,都有一个服务网络的边车(sidecar)。网络边车接管了容器中服务进程对外的流量转发,Pod中的某个业务请求调用其他Pod中的服务时,先把请求转发给自己Pod内部的边车服务,由边车对请求进行监测及治理后转发出去;对服务的被调用方而言,首先也同样是通过自己Pod内部的边车来接收请求,边车对这个请求进行一些安全或流控检测后,运行请求进入内部业务处理服务,最终完成一次请求调用。

4、在这个业务架构图中,使用了Redis服务。Redis在云原生应用的使用中十分普遍,主要是因为Redis服务本身简单、稳定、易用,同时功能全面和强大,又有较好的可扩展性。

5、通过消息中间件,实现了服务之间的依赖解耦,消息产生方不需要明确知道消息消费方的存在,而消息消费方也只需要从消息中间件中获取消息并处理即可。常用的主流消息中间件是RabbitMQ和Kafka。相比较RabbitMQ,Kafka在集群规模以及消息的持久化上有更强的支持能力,但同时Kafka的配置和使用也更复杂。另外RocketMQ也是一种常用的消息中间件。

6、标号⑥的位置是一个关系型数据库,关系型数据有rds和drds两大类,分别对应为基于主从复制和读写分离技术的高可用关系型数据库,以及基于分库和分表技术的分布式关系型数据库。drds的特点是将表数据存储和表数据计算功能在集群内部分离,有专门负责对表数据及索引进行存储的节点和专门对表数据进行聚合和查询的计算节点,能够支持亿级以上的记录数,其规模更大、能力更强。

7、标号⑦是服务治理中心,服务治理中心依赖服务网络技术,它从服务网络的边车中搜集和汇总数据,从而实现对流量请求数据的监测。另外,治理中心还可以将高级网络安全控制路由规则转换为网络边车的配置数据,将配置数据推送给边车,以实现对微服务系统的流量治理。

8、一个完整的云原生应用系统通常离不开大数据技术,大数据技术支持海量的非结构化和文档型数据,对数据提供长时间、大容量的存储,同时对存储的数据提供数据清理、数据转化等治理能力。最后,大数据技术的另外一个技术领域就是数据分析,通过离线分析和实时分析算法框架,对存储的海量数据进行分析运算,提取出更有价值的信息。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nature | 通用医学人工智能基础模型

编译 | 李汭璨 审稿 | 王建民 今天为大家介绍的是来自Eric J. Topol和 Pranav Rajpurkar研究团队的一篇医学人工智能的综述论文。高度灵活、可重复使用的人工智能模型的极快发展可能会为医学带来新的能力。作者提出了医学人工智能的新范式,称为通用医学人工智能&…

磁盘和文件系统管理

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。个人主页:小李会科技的…

Deepnlp EquationGPT公式搜索引擎搜Latex源码和论文

公式搜索引擎常用功能 DeepNLP的EquationGPT用的比较多功能: 网址:EquationGPT Largest Equation Database & Engine powered by GPT 1. 公式搜索引擎,输入公式搜索数学公式的Latex代码和相应论文。 2. 目前覆盖了计算机(机器学习/AI)/ 数学/物理…

【设计模式】总结篇

【C语言部分】总结篇 【操作系统】总结篇 【数据库】总结篇 【计算机网络】总结篇 本文目录 1. 说说什么是单例设计模式,如何实现2. 简述一下单例设计模式的懒汉式和饿汉式,如何保证线程安全3. 说说工厂设计模式,如何实现,以及它的…

判断无穷积分是绝对收敛还是条件收敛---练习题

本篇文章重点讨论一般无穷积敛散性的判别。(即被积函数在所积区间符号不定,既有正的,也有负的) 不论是绝对收敛还是条件收敛,它本身一定是 收敛的。 狄利克雷判别法: 例题: 首先,将…

(4)Qt——基本组件

目录 1. Designer 设计师** 2. Layout 布局*** 3. 基本组件 3.1 QWidget** 3.2 ui指针 3.3 QLabel 标签** 3.4 QAbstractButton 按钮类** 3.5 QLineEdit 单行文本输入框** 3.6 QComboBox 组合框** 3.7 一组与数值相关的组件* 1. Designer 设计师** Designer是一款独立的用于设计…

【Java】进程通信(共享内存)

🎈博客主页:🌈我的主页🌈 🎈欢迎点赞 👍 收藏 🌟留言 📝 欢迎讨论!👏 🎈本文由 【泠青沼~】 原创,首发于 CSDN🚩&#x1f…

PyQt5桌面应用开发(12):QFile与线程安全

本文目录 PyQt5桌面应用系列segment faultgdb backtraceopen & readQFile总结 PyQt5桌面应用系列 PyQt5桌面应用开发(1):需求分析 PyQt5桌面应用开发(2):事件循环 PyQt5桌面应用开发(3&…

怎么恢复回收站?分享4个宝藏方法!

案例:怎么恢复回收站 【请问大家怎么恢复误删的文件呀?如果回收站被清空了,又应该怎么恢复呢?】 电脑回收站是我们存储被删除文件的地方。但是有时候,我们会不小心把一些重要的文件或者照片误删了。这时候&#xff0…

LED驱动程序框架

1. 字符设备驱动程序框架 2. 基于分层思想的LED驱动 2.1 把驱动拆分为通用的框架和具体的硬件操作 把驱动拆分为通用的框架(leddrv.c)、具体的硬件操作(board_X.c): 如图: 以面向对象的思想,改进代码 抽象出一个结构体: 每个…

数据库管理-第七十三期 最近(20230509)

数据库管理 2023-05-09 第七十三期 最近1 证书2 EMCC 13.5.0.143 破百总结 第七十三期 最近 五一前后,除了X8那台的故障以外,还是做了或者探索了一些其他的东西。 1 证书 在五一假期的最后一天,还是在家通过线上的方式通过了1Z0-902&#…

Springboot +Flowable,三种常见网关的使用(排他、并行、包容网关)(一)

一.简介 Flowable 中常用的网关主要有三种类型,分别是: 排他网关并行网关包容网关 下面来说下这三种的网关的概念和用法。 二.排他网关 排他网关,也叫互斥网关,截图如下: 排他网关有一个入口,多个有效…

亚马逊云科技发力医疗与生命科学行业,加速数字化创新

2023年4月27日,亚马逊云科技医疗与生命科学行业峰会召开,会议汇聚了业界专家和思想领袖,共同探讨行业数字化转型和创新之道。作为全球医疗及生命科学行业云计算引领者,亚马逊云科技将围绕数据、算力和行业用户体验三大需求发力&am…

MySQL百万数据深度分页优化思路分析

业务场景 一般在项目开发中会有很多的统计数据需要进行上报分析,一般在分析过后会在后台展示出来给运营和产品进行分页查看,最常见的一种就是根据日期进行筛选。这种统计数据随着时间的推移数据量会慢慢的变大,达到百万、千万条数据只是时间…

UWA发布 | Unity手游性能蓝皮书

最新2022年度Unity手游蓝皮书出炉!此次发布分析了2022年1月至2023年3月期间,游戏行业使用Unity引擎进行手游开发过程中及游戏上线后的性能表现,从测试机型分布、引擎各模块开销、内存占用等方面进行汇总分析,反映了Unity手游行业的…

Flink dataStream,如何开窗,如何进行窗口内计算

目录 开窗方式 windowAll() window() 窗口类型 基于时间 基于数量 开窗后的处理函数 全量聚合函数(也叫窗口函数) 增量聚合函数 增量聚合函数携带一个全量聚合函数 开窗方式 windowAll() 对于没有keyBy的数据流 window() 对于KeyBy后的数据…

交工技术文档表格-SH3503-2001

(阀门试验记录)(管道补偿器安装记录)(管道组成件校验性检查记录)(SHA级管道管螺纹、密封面加工记录)(高压、SHA级管道弯管加工记录)(管道静电接地测试记录)管道系统安装检查与压力试验记录)管道系统泄露性与真空试验记录)(管道吹洗、清洗脱脂记录)(给排水压力管道强度及严密试验…

685页40万字某省市场监管智慧应用一体化项目(word可编辑)

1.2.3.1 数字XX公共能力建设现状 1.2.3.1.1 数字XX通用基础应用平台现状 通用基础应用平台提供具有共性特征的跨部门、跨层级业务应用,与本项目有关的平台包括某省网上办事大厅、某省政务服务 APP 统一平台(X政通 APP)、某省公共信用信息平…

一次SQL的完整处理流程

流程: 1. 客户端到连接器是通过TCP/IP SSL通信协议连接的, 2.连接器验证MySQL权限信息是否正常,连接量是否正常,长时间没有连接服务器会自动断开等等 ; 3. 然后到解析器,通过客户端发过来的sql进行语法解析…

电力系统储能调峰、调频模型研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…