当前位置: 首页 > news >正文

什么是云原生

什么是云原生

云原生的定义

aws:
云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代公司希望构建高度可伸缩、灵活和有弹性的应用程序,以便能够快速更新以满足客户需求。为此,他们使用了支持云基础设施上应用程序开发的现代工具和技术。这些云原生技术支持对应用程序进行快速和频繁的更改,而不会影响服务交付,为采用者提供了创新的竞争优势。

Pivotal 最新官网对云原生概括为 4 个要点:DevOps+持续交付+微服务+容器。

云原生的四要素

微服务

微服务是一种用于软件开发的架构和组织方法,将软件拆分多个小的独立服务,这些服务通过定义明确的 API 进行通信,每个服务由小型独立的团队负责。
巨石架构和微服务架构
微服务的好处:

  • 灵活:各个微服务之间只通过 API 交流,各个微服务可以在不影响其他服务的情况下进行更新、发布。
  • 扩缩容:各个微服务可以自己扩缩容,也解决了 80% 的用户其实只是使用了 20% 的功能的这种问题。
  • 易于部署:通过 CI CD 流程,非常方便微服务的部署
  • 技术自由:每一个微服务可以选中适合于解决相应问题的技术栈
  • 代码复用:通过合理的拆分微服务,可以实现功能的服用,减少代码冗余
  • 快速恢复:部分微服务的不可用不会导致整个软件的不可用,并且每一个微服务会部署多份,避免单点故障

容器化

Docker 是应用最为广泛的容器引擎(同类型的还有 containerd,都实现了 Container Runtime Interface,CRI 标准),是基于LXC技术实现的,容器化为微服务提供实施保障,起到应用隔离作用。K8s 是容器编排系统,用于容器管理,容器间的负载均衡。
MJHfm1c.jpg
容器化的好处,可以看海豚调度器的安装例子:
https://dolphinscheduler.apache.org/en-us/docs/1.3.6

DevOps

DevOps 整合了开发人员和运维团队,通过自动化基础设施、自动化工作流程并持续监测应用程序性能以提高协作和生产力。
DevOps 更关注于自动化测试、自动化流程、自动化设施。DevOps 强调小步快走,传统开发流程:开发人员开发完所有功能 --> 测试人员测试代码 --> 运维人员发布代码,DevOps 中会将功能拆分成一个一个的小功能,采用自动化工具快速测试、部署。

image.png

其他

serverless

Serverless 是一种云计算架构模式,旨在简化开发者对基础设施的管理,使开发者可以专注于编写代码而不必关注底层的服务器管理和配置。在 Serverless 架构中,开发者只需编写功能代码,而无需管理服务器的运行、扩展和维护。
serverless 的特点:

  • 事件驱动:云函数的运行,是由事件驱动起来的,在有事件到来时,云函数会启动运行,事件的定义可以很丰富,一次 http 请求,一个文件上传,一次数据库条目修改,一条消息发送,都可以定义为事件
  • 自动弹性伸缩:针对业务的实际事件或请求数,云函数自动弹性合适的处理实例来承载实际业务量,在没有事件或请求时,无实例运行,不占用资源,可以根据请求次数计费
  • 无状态:上一次请求和下一次请求之间没有任何关联和依赖,每一次请求都是独立的

image.png

server mesh

在没有 server mesh 之前,所有的流量都需要通过 esb 总线或 api 网关,通过 esb 总线实现对流量的拦截和管控。
在 server mesh 中,实现去中心化的架构,将这部分的功能打包、下沉到各个微服务的边车中。

image.png

image.png

cncf

Cloud Native Computing Foundation(云原生计算基金会),它是一个致力于推动云原生技术发展和标准化的非营利性组织。CNCF 成立于 2015 年,旨在促进云原生技术的开发、共享和采用,推动云原生生态系统的繁荣和创新。官网:https://www.cncf.io。
CNCF 的主要活动和项目包括:

  1. 项目孵化:CNCF 孵化和扶持各种云原生技术项目,包括容器编排系统(如 Kubernetes)、服务网格(如 Istio)、容器运行时(如 containerd)、日志管理(如 Fluentd)等。
  2. 认证和标准:推动云原生技术的标准化和认证,建立起云原生技术的行业标准和认可体系。
  3. 教育和培训:提供云原生技术的教育和培训资源,包括在线课程、培训活动等,帮助开发者和组织了解和应用云原生技术。
  4. 社区活动:组织和举办各种云原生技术相关的社区活动和会议,如 KubeCon + CloudNativeCon 等。

总结

铁打的江山,流水的兵。

参考

https://icyfenix.cn/
https://www.bilibili.com/video/BV1oR4y1u72e
https://istio.io/latest/about/service-mesh/
https://www.youtube.com/watch?v=0yWAtQ6wYNM
https://www.cncf.io

相关文章:

什么是云原生

什么是云原生 云原生的定义 aws: 云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代公司希望构建高度可伸缩、灵活和有弹性的应用程序,以便能够快速更新以满足客户需求。为此,他们使用了支持云基础设施上应用程序开发的现…...

为什么要“挺”鸿蒙?

鸿蒙到底是什么? 随着5G、物联网等技术的快速发展,智能终端设备的应用场景也越来越广泛。为了满足不同设备间的互联互通需求,华为在2019年推出了自主研发的操作系统——鸿蒙OS。值得关注的是,这也是首款国产操作系统。 要了解鸿…...

去掉el-date-picker弹窗默认回显当前月份的方法

打开日期弹窗,默认会显示当前月份,如图 会发现加了穿透::v-deep 样式也不生效 .el-month-table .today .cell {color: pink;font-weight: 400;}要让 popper-class“xclass” :append-to-body“false” 这俩配合着使用…...

绝地求生:PUBG×杜卡迪联名上线!参与投稿评论赢取精美好礼

PUBG杜卡迪联名活动游戏内现已正式上线!我们诚邀与您一起在开拓未知战场和书写新历史的过程中,与杜卡迪一同实现您的极速梦想! 在本次的杜卡迪工坊中,更是包含了具备标志性红色在内的6种颜色供您自由选择,一起自由驰骋…...

10个大型语言模型(LLM)常见面试问题和答案解析

今天我们来总结以下大型语言模型面试中常问的问题 1、哪种技术有助于减轻基于提示的学习中的偏见? A.微调 Fine-tuning B.数据增强 Data augmentation C.提示校准 Prompt calibration D.梯度裁剪 Gradient clipping 答案:C 提示校准包括调整提示,尽量减少产生…...

rollup 插件架构-驱动设计 PluginDriver

文章目录 GraphPluginDriver生成 PluginDriver 实例和 PluginCache 缓存创建插件上下文 pluginContext初始化 pluginContext 缓存设置、方法插件中使用缓存可替换的 replace pluginContextPluginDriver 提供 asyn、first、parallel 等类型 hookgetSortedPlugins 运行时收集并存…...

netty实现mqtt(IOT)

springbootnettymqtt服务端实现 springbootnettymqtt客户端实现 MQTT协议基本讲解(结合netty) 李兴华netty视频教程中mqtt讲解 EMQX官网、mqttx客户端 IOT云平台 simple(6)springboot netty实现IOT云平台基本的架构(mqtt、Rabbitmq&…...

基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示汉字的功能

基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示汉字的功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍LCD1602字符型液晶显示器介绍一、LCD1602字符型…...

Springboot+Redis:实现缓存 减少对数据库的压力

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏Redis实战与进阶 本专栏讲解Redis从原理到实践 …...

springboot组件的单例模式和分布式分析

springboot组件的单例模式和分布式分析 一、基本概念 在Spring Boot应用中,单例模式是非常常见的一种设计模式,它被广泛应用于Bean的生命周期管理。Spring容器默认会将所有的Component、Service、Repository和Controller注解标记的类作为单例对象进行实…...

Linux:zip命令介绍

简介 zip命令可以用来解压缩文件&#xff0c;或者对文件进行打包操作。zip是个使用广泛的压缩程序&#xff0c;文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。 语法 zip [选项] [参数] 选项 -A&#xff1a;调整可执行的自动解压缩文件&#xff1b; -b<工作目录&g…...

远程桌面无法连接怎么办?

远程桌面无法连接是指在尝试使用远程桌面功能时出现连接失败的情况。这种问题可能会给工作和生活带来极大的不便&#xff0c;因此我们需要寻找解决办法。在讨论解决方案之前&#xff0c;我们先来了解一下【天联】组网的优势。 【天联】组网的优势有很多。它能够解决复杂网络环境…...

HarmonyOS实战开发-拼图、如何实现获取图片,以及图片裁剪分割的功能。

介绍 该示例通过ohos.multimedia.image和ohos.multimedia.mediaLibrary接口实现获取图片&#xff0c;以及图片裁剪分割的功能。 效果预览 使用说明&#xff1a; 使用预置相机拍照后启动应用&#xff0c;应用首页会读取设备内的图片文件并展示获取到的第一个图片&#xff0c;…...

【LeetCode热题100】【二叉树】二叉树的最近公共祖先

题目链接&#xff1a;236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; 二叉树皆可递归&#xff0c;可以递归查找两个节点的所在地&#xff0c;如果两个节点一个在root的左子树一个在右子树&#xff0c;说明root就是公共祖先&#xff0c;并且因为是递归&…...

动态规划专练( 1049.最后一块石头的重量Ⅱ)

1049.最后一块石头的重量Ⅱ 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果如…...

2024年最佳WordPress插件

我喜欢的最佳WordPress插件&#xff08;也是经验丰富的WordPress开发者强烈推荐的&#xff09;。所有这些插件都是编码干净、超快且一流的。我还包括了对我不喜欢的插件的想法……只为了让你有进一步的了解。 目录 隐藏 1 古腾堡块&#xff1a; 2 内容&#xff1a; 3 缓存…...

Docker 安装 RocketMQ

目录 一、新建两个配置文件 1.1 创建docker-compose.yml文件 1.2 .新建broker.conf文件 二、运行 三、可视化界面 一、新建两个配置文件 1.1 创建docker-compose.yml文件 version: 3.5 services:rmqnamesrv:image: foxiswho/rocketmq:servercontainer_name: rmqnamesrvports…...

计算机网络——交换机和路由器

目录 前言 引言 交换机是用来做什么的&#xff1f; 与路由器有什么区别&#xff1f; 网关 子网掩码 网关、路由 前言 本博客是博主用于复习计算机网络的博客&#xff0c;如果疏忽出现错误&#xff0c;还望各位指正。 这篇博客是在B站掌芝士zzs这个UP主的视频的总结&am…...

Redis Pipelining 底层原理分析及实践

作者&#xff1a;vivo 互联网服务器团队-Wang Fei Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。在遇到批处理命令执行时&#xff0c;Redis提供了Pipelining(管道)来提升批处理性能。本文结合实践分析了Spring Boot框架下Redis的Lettuce客户端和Redisson客户端对P…...

milvus各组件的结构体分析

milvus各组件的结构体分析 各组件启动&#xff0c;需要构建各组件的结构体&#xff0c;一共8个。 runComponent(ctx, localMsg, wg, components.NewRootCoord, metrics.RegisterRootCoord) runComponent(ctx, localMsg, wg, components.NewProxy, metrics.RegisterProxy) run…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)

cd /home 进入home盘 安装虚拟环境&#xff1a; 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境&#xff1a; virtualenv myenv 3、激活虚拟环境&#xff08;激活环境可以在当前环境下安装包&#xff09; source myenv/bin/activate 此时&#xff0c;终端…...