云原生介绍

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

一、云原生的概念

云原生的整体概念思路是三统一,即统一基础平台、统一软件架构、统一开发流程。 基于统一的基础平台、软件架构以及开发流程,数字化转型和云化转型能够把重心放在业务应用上。从而使得数字化转型的目标重新回归到业务应用本身,最终通过云原生来提升业务应用的迭代速度,促进业务创新。因此,云原生的价值和意义在于通过建立标准化来提升业务的进化速度。

1.1、云原生之统一基础平台

容器是云原生的标准软件发布格式,它是在同一个操作系统中实现了轻量级的虚拟化,这里的轻量级虚拟化本质上是同一个操作系统中的进程隔离,所以它是轻量级的,容器比虚拟机更省资源,资源利用率更高。与此同时,容器还实现了同一个软件可在不同的平台上运行。

容器镜像运行起来是一个一个的程序,如何实现多个程序合成一个大的分布式应用呢?答案很简单,程序之间互相调用就行。但此时就存在两个问题:这个集群中的某个机器出故障了该怎么去排查故障?这个集群中某一部分业务由于访问量增加怎么去扩充支撑能力?

对于这两个问题的解决,就涉及到了容器编排系统,最常见的容器编排系统是Kubernetes。容器编排系统可以在服务器或容器应用出现问题的情况下,自动感知,自动将容器应用在集群内的其他机器里重新运行起来。同时,通过启动相同的容器应用,自动提升应用的负载支撑能力。从而解决以上两个问题。

总之,基于容器和Kubernetes技术构成了云原生架构下统一的基础平台。这个平台支撑了标准的软件包发布格式和标准的软件包运行环境。

1.2、云原生之统一软件架构

在云原生架构体系中,软件架构都是采用微服务架构。微服务架构的概念是:微服务是可以独立部署的、小的、自治的业务组件,业务组件彼此之间通过消息进行交互。微服务的组件可以按需独立伸缩,具备容错和故障恢复能力。

微服务架构的优势:

● 支持快速上线。由于业务组件的自治性和独立性,新的功能和应用能够迅速地发布上线,而不用担心对系统其他功能带来大范围的影响。可以通过服务组件重用重组,快速地形成和发布新的应用。

● 支持独立扩容和恢复。有针对性地对应用中的某些服务进行扩容,解决性能的瓶颈。可以独立替换或恢复微服务中的某个组件。

快速上线意味着速度和效率,独立扩容和恢复意味着系统的安全、稳定和可扩展。采用微服务架构体系的应用在开发效率、稳定性、可扩展性上具备了很强的优势,使其成为云化应用的标准应用架构。

微服务架构中的核心功能组件包括网关、微服务治理、服务注册、配置管理、限流和熔断、负载均衡、自动扩容、自动故障隔离、自动业务恢复、监控和日志组件等。

1.3、云原生之统一开发流程

基于容器和Kubernetes的平台提供了云原生应用的标准发布和运行环境;基于容器的微服务架构定义了云原生应用的标准架构。通过这些技术,对软件应用在架构、支撑服务和支持组件、基准平台上都进行了标准化;同时解决了升级,扩容,稳定性,私有云、公有云、混合云统一基础架构等问题。

云原生强调自动化以能够提升开发效率和运维效率。在这个基础上,利用DevOps的自动化、协作、敏捷特性,在软件的开发、测试、部署、运维流程上,提升了开发效率、降低了沟通成本、提升了部署和上线速度。DevOps是云原生应用在开发、测试和发布流程中的必要手段,并且成了云原生应用的标准开发流程。

二、云原生与混合云

2.1、常见的混合云应用架构

混合云是目前非常流行的一种云计算形态。常见的混合云的应用架构如下:

● 将内部核心业务放在私有云环境中,将面向公众的、互联网性质的业务部署在公有云上。
● 把基础的、需长时间稳定运行的业务放在私有云环境中;把创新的、短暂的、需动态扩展的业务放在公有云上。
● 针对数据类业务应用,将数据存储在本地环境即私有云上,而将数据访问类和面向公众的业务放在公有云上。

2.2、云原生与混合云的关系

对于以上混合云的应用架构,就涉及到了公有云和私有云的相互打通或迁移的问题,由于云原生统一了软件平台、软件架构以及软件开发流程,基本上针对应用的各个层面都做了标准化。这个标准化是超越了私有云和公有云的界限的。

基于云原生技术开发的应用,能够在业界各个平台畅行无阻。部署在私有云、公有云里的都是一样的技术体系和架构,也就意味着将私有云中开发的应用部署在公有云上是很容易的,同时也很容易把私有云中的应用扩展运行到公有云上。另外,从公有云迁移到私有云也是很方便的,对业务应用基本不用做什么改动。

三、搭建一个简单的云原生平台

如下如:

在这里插入图片描述

搭建上面的云原生平台在硬件资源上至少需要三台服务器,搭建步骤如下:

1、使用Kubernetes安全工具,按照Kubernetes集群推荐使用Kubeadm
2、在部署好的Kubernetes集群中安装Helm,通过Helm来安装后续的其他服务
3、通过Helm来安装部署分布式存储GlusterFS、Redis服务、MySQL服务、GitLab或Jenkins
4、创建代码库,配置Jenkins流水线
5、通过流水线将代码打包构建成容器镜像,并存放到镜像仓库中
6、通过容器镜像来启动微服务。微服务使用ETCD作为注册中心,同样也使用ETCD作为配置中心
7、Kubernetes集群中运行的微服务对外通过集群Ingress提供服务,外部请求通过Ingress访问运行在集群中的微服务

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

详解:搭建常见问题(FAQ)的步骤?

许多的Web用户都更加偏向于可信赖的FAQ页面,以此作为快速查找更多信息的方法。因为用户时间的紧缺,并且想知道产品的功能和能够提供的服务。构造精巧的FAQ页面是提供人们寻求信息的绝妙方法,而且还可以提供更多的信息。这就是为什么FAQ页面对…

Chrome远程调试

最近接触到Chrome远程调试相关内容,记录一下。 场景:使用Chrome远程调试Chromium。当能够控制目标主机执行命令之后,可以在该主机上建立全局代理,然后在自己这一边开启浏览器监听,接着在目标机器上执行 chrome.exe --…

3.13 结构体嵌套、大小及位域

目录 结构体嵌套结构体 结构体的大小 位域 结构体嵌套结构体 含义 结构体中的成员可以是另一个结构体 语法 struct 结构体名 { struct 结构体名 成员名; }; 结构体中共同的变量可以单独放出来,单独封装一个结构体 结构体的大小 字节对齐 含义 …

Bark:基于转换器的文本到音频模型

Bark是由Suno创建的一个基于转换器的文本到音频模型。Bark可以生成高度逼真的多语言语音以及其他音频,包括音乐、背景噪音和简单的音效。该模型还可以产生非语言交流,如大笑、叹息和哭泣。为了支持研究社区,我们正在提供对预先训练的模型检查…

【c语言】字符串的基本概念 | 字符串存储原理

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

【Java EE】-博客系统(前端页面)

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【JavaEE】 分享: 且视他人如盏盏鬼火&#xff0c;大胆地去走你的道路。——史铁生《病隙碎笔》 主要内容&#xff1a;博客系统 登陆页面&#xff0c;列表页面&#xff0c;详情页…

AArch32 AArch64 Registers map详细解析与索引

1、AArch32 Registers AArch32 系统寄存器索引。 例如第一个寄存器ACTLR点击后解析如下&#xff1a; 2、AArch64 Registers AArch64 系统寄存器索引。 3、AArch32 Operations AArch32 系统指令索引。 例如第一个寄存器ACTLR_EL1点击后解析如下&#xff1a; 4、AArch…

Inception模型实现孤立手语词的识别

实现孤立手语词的识别流程如下&#xff0c;在实际研究中&#xff0c;本章将着重研究第三阶段内容&#xff0c;也就是模型的设计与实现过程&#xff0c;目的是提高手语图像的识别准确率。 Inception模型实现 Inception模型是谷歌研究人员在2014年提出的一个深度卷…

一文把 JavaScript 中的 this 聊得明明白白

文章目录 1.this 是什么&#xff1f;2.this的指向2.1 全局上下文的 this 指向2.2 函数&#xff08;普通函数&#xff09;上下文中的 this 指向2.3 事件处理程序中的 this 指向2.4 以对象的方式调用时 this 的指向2.5 构造函数中的 this 指向2.6 在 类上下文中 this 的指向。2.7…

84.python input输入函数知识拓展

文章目录 1. input函数知识回顾2. input常犯错误解析3. 用函数转换从终端输入的数据3.1 输入的数为整数&#xff0c;则用int转换为整数3.2 输入的数为浮点数&#xff0c;则用float转换为浮点数3.3 不考虑输入的数据类型&#xff0c;则用eval函数转换 4. 变量的多种赋值方式4.1 …

【软考中级】2022下半年软件设计师案例分析题级答案

试题一(共15分) 阅读下列说明和图&#xff0c;回答问题1至问题4&#xff0c;将解答填入答题纸的对应栏内。 【说明】 随着新能源车数量的迅猛增长&#xff0c;全国各地电动汽车配套充电桩急速增长&#xff0c;同时 也带来了充电桩计量准确性的问题。充电桩都需要配备相应的…

JAVA9新特性

JAVA9新特性 概述 ​ 经过4次推迟&#xff0c;历经曲折的Java9最终在2017年9月21日发布。因为里面加入的模块化系统&#xff0c;在最初设想的时候并没有想过那么复杂&#xff0c;花费的时间超出预估时间。距离java8大约三年时间。 ​ Java 9提供了超过150项新功能特性&#x…

三个令人惊艳超有用的 ChatGPT 项目,开源了!

自 3 月初 Open AI 开放 ChatGPT API 以来&#xff0c;GitHub 上诞生的开源项目数量之多&#xff0c;着实多得让我眼花缭乱、应接不暇。 今天&#xff0c;我将着重挑选几个对日常工作、生活、学习帮助较大的 ChatGPT 开源项目&#xff0c;跟大家分享下&#xff0c;希望对你有所…

使用eclipse创建一个图书管理系统(1)-----搭建架构

目录 思维导图&#xff1a; 图书管理系统的创建&#xff1a; 第一步&#xff1a;搭建框架-------使用者 第二步&#xff1a;搭建框架------被使用者 第三步&#xff1a;操作方法 第四步&#xff1a;main函数 思维导图&#xff1a; 前言&#xff1a; 昨天学了一下使用Java…

games103——作业2

实验二主要使用隐式积分法以及PBD法完成布料仿真 完整项目已上传至github。 文章目录 基于物理的方法弹簧系统单个弹簧多个弹簧弹簧网络结构化弹簧网络(Structured Spring Networks)非结构化弹簧网络(Unstructured Spring Networks)三角网格表示 代码 求解质量弹簧系统的显示积…

(别再手动点APP了)UiAutomator2自动化测试框架带你玩转APP操作

目录 前言 一、uiautomator/uiautomator2的前生今世 1.官方文档介绍 2.梳理一下脉络 3.三款框架对比 二、uiautomator2简介 1.项目组成 2.工作原理 三、环境搭建 1.安装uiautomator2 2.初始化设备 3.init时都干了啥&#xff1f; 四、基础操作 1.连接设备 2.命令…

Python——函数

概念 函数是一段具有特定功能&#xff0c;可重复使用的代码&#xff0c;python提供了很多内置函数&#xff0c;如&#xff1a;print()&#xff0c;input()&#xff0c;len()函数等&#xff0c;以及标准库函数&#xff0c;math库中的sqrt()函数等&#xff0c;除此之外用户还可以…

Hive3面试基础

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、基本知识Hive31.表的类型和表的存储格式a)b)c)创建表i&#xff09;ii&#xff09; 2.表 二、使用步骤1.引入库2.读入数据 总结 前言 面试准备之Hive 回顾…

设计模式之适配器模式

目录 1、什么是适配器模式 2、为什么用适配器模式 3、适配器模式的结构 4、类适配器模式代码实现 4.1 思想 4.2 代码实现 4.3 问题分析 5、对象适配器模式代码实现 5.1 思想 5.2 代码实现 6、适配器模式应用场景 1、什么是适配器模式 适配器模式&#xff08;Adapter…

19. Unity - 2D游戏开发小记02 --- 伪透视图、2D物体碰撞、瓦片地图碰撞、素材缩放平铺

1. 伪视图 在2D游戏开发当中,当角色移动时,会发生物体与物体之间的前后遮挡。2D视图中的前后关系是由 Y 轴决定,y 值越小物体越靠前。unity的渲染应开启根据 y 值的大小进行渲染才能保证正确的遮挡效果,在菜单栏Editor–>project setting --> Graphic中按照下图方式…