[云原生]这么火,你不来了解下

科技资讯 投稿 6100 0 评论

[云原生]这么火,你不来了解下

目录
    一、前言
  • 二、大家对云原生的理解
  • 三、云原生的产生
  • 四、DevOps+持续交付+微服务+容器化的理解
  • 五、云原生技术栈
  • 六、怎么学习云原生呢?
    • Ⅰ docker
    • Ⅱ k8s
    • Ⅲ KubeSphere
    • Ⅳ Spring Cloud
    • Ⅴ DevOps
  • 七、部署实战
  • 八、小结

一、前言

Metaverse )也在这波浪潮中应运而生。

一个公司新产品上线,也会在产品名前加上“云”。
如果一个产品不带着“云”,或者你不知道云原生。你就更不上时代步伐了。

想必大家跟我一样好奇,会去网上搜罗各种云原生相关文章来看。看完文章之后呢,完全就是雾里看花,云里雾里的,对云原生概念更是一知半解。

事后想想,其实也没必要。就像自己关注的博主“三太子敖丙”经常说的,你知道的越多,不知道的越多

二、大家对云原生的理解

下面列举一些网友的说法:

    云原生是基于云计算,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系
  • 云原生是Cloud +Native,将云和原生分开,就是原生应用上云的一整套解决方案
  • 云原生是指应用上云后可以 利用和发挥云平台的弹性+分布式优势
  • 云原生是一种架构设计模式,帮助我们解决传统应用存在的各种问题

三、云原生的产生

目前比较权威的定义主要来自Pivotal公司和云原生计算基金会 ( CNCF )

    Pivotal公司是云原生应用的提出者
  • 2015年,提出云原生应用架构需要具有:12因素、微服务、 自敏捷架构、基于API协作、扛脆弱性 的特性
  • 2017年,Pivotal对云原生概括为4个要点:DevOps+持续交付+微服务+容器

② CNCF的定义

    起初CNCF对云原生(Cloud Native)的定义包含以下三个方面:应用容器化、面向微服务架构、应用支持容器的编排调度
  • 2018年,随着云原生生态的不断壮大,CNCF对云原生进行了重新定位 。 云原生技术有利于各组织在公有云、私有云和混合云等环境中,构建、运行和可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API

四、DevOps+持续交付+微服务+容器化的理解

DevOps

流程实现自动化。 DevOps是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。

持续交付

而持续交付,正是要解决这个传统模式的更新。做到不停机更新,开发版和稳定版本并存。 避免重复性劳动,减少人工操作的错误; 更频繁地迭代 更新;提高产品质量;

微服务

单体应用,单体应用经常会面临这么一个问题,这个功能出问题了,怎么另外一个功能也用不了了。作为开发运维人员,我们经常就会面临这样的灵魂拷问: 为啥这两个会互相影响?

耦合度,也就是我们经常听到的解耦。不把所有鸡蛋放到一个篮子里,把一块蛋糕分成若干份低耦合的小块,各块负责不同的功能。

容器化

而Dockers作为一个“集装箱”的身份出现,可以把应用需要的环境,各种配置文件、运行文件打包隔离运行,以保证我们开发出来的程序,不管部署到那台服务器上,都不会因为缺少东西,或者环境问题而运行不正常。

五、云原生技术栈

下面是官网上找的一张图,真是森罗万象,看得我们眼花缭乱。
图片地址:
【 https://landscape.cncf.io/?category=app-definition-and-development&grouping=category 】

六、怎么学习云原生呢?

作为一名Java攻城狮,该如何入手云原生呢?

Docker+k8s+KubeSphere+Spring Cloud +DevOps 。当然了,这个不是我说的。前面B站看云原生视频的时候,雷神大佬总结的。

Ⅰ docker

① 什么是docker?

官方解释:Docker is the world’s leading software containerizatior platform。

②解决什么问题?

这里就不赘述了,在这里在补充那么一点。docker也属于一种虚拟化技术。它是从传统硬件层面上的虚拟化发展而来的。相比传统虚拟化技术,容器技术节省了更多性能。

Ⅱ k8s

k8s 是 Kubernetes 的缩写,首字母K和尾字母s中间共8个字母,为了好记,k8s便诞生了

③ k8s有哪些特性?(我太懒了,下面完全是从官网拿过来的)

    服务发现和负载均衡
    Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大,Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。
  • 存储编排
    Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。
  • 自动部署和回滚
    你可以使用 Kubernetes 描述已部署容器的所需状态,它可以以受控的速率将实际状态 更改为期望状态。例如,你可以自动化 Kubernetes 来为你的部署创建新容器,删除现有容器并将它们的所有资源用于新容器。
  • 自动完成装箱计算
    Kubernetes 允许你指定每个容器所需 CPU 和内存(RAM)。 当容器指定了资源请求时,Kubernetes 可以做出更好的决策来管理容器的资源。
  • 自我修复
    Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的 运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。
  • 密钥与配置管理
    Kubernetes 允许你存储和管理敏感信息,例如密码、OAuth 令牌和 ssh 密钥。 你可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥

Ⅲ KubeSphere

② 官方地址

Ⅳ Spring Cloud

① Spring Cloud 是什么?

② Spring Cloud 优缺点

    Spring Cloud 包含了微服务架构的方方面面
  • 约定优于配置,基于注解,没有配置文件
  • 轻量级组件,Spring Cloud 整合的组件大多比较轻量级,且都是各自领域的佼佼者
  • 开发简便,Spring Cloud 对各个组件进行了大量的封装,从而简化了开发
  • 开发灵活,Spring Cloud 的组件都是解耦的,开发人员可以灵活按需选择组件

    项目结构复杂,每一个组件或者每一个服务都需要创建一个项目

Ⅴ DevOps

①DevOps是什么?

是一系列做法和工具,可以使 IT 和软件开发团队之间的流程实现自动化。使我们可以快速、安全、可靠地将内部软件部署到生产环境。

七、部署实战

Ⅰ 项目推荐

如果你也心动了,那就赶紧行动起来吧。

它就是RuoYi,相信你肯定也听过了。随着RuoYi项目的不断发展,已经衍生出不少版本,从一开始的单体应用前后端分离版本微服务版本

RuoYi。

项目地址:https://gitee.com/y_project

RuoYi-Cloud微服务版本

Ⅱ 项目架构

Ⅲ 实战部署

文档地址:http://doc.ruoyi.vip/ruoyi-cloud/

八、小结

云原生 的一些理解,云原生简单的说就是**DevOps+持续交付+微服务+容器 **(我又再次把这几个词搬过来了(●'◡'●)。

云原生 更加清楚了呢。当然了,我也是小白,也正在努力学习中,有什么说的不对的地方欢迎大家指出来,大家共同学习哈。

编程笔记 » [云原生]这么火,你不来了解下

赞同 (40) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽