首页 > 编程知识 正文

阿里已经实现了哪些深度布局(阿里云业务架构师待遇)

时间:2023-05-06 14:32:37 阅读:80116 作者:3779

什么是容器?

一句话概括集装箱,集装箱就是为了开发、交付、部署而将软件打包成标准化的单元。

容器镜像是一个轻量级、可运行的独立软件包,包含运行软件所需的所有内容,包括代码、运行时环境、系统工具、系统库和设置。 容器化软件适用于基于Linux和Windows的APP应用,可在任何环境中一致运行。 容器有助于根据外部环境的差异(例如开发环境和预演环境的差异)赋予软件独立性,并减少团队在同一基础设施中运行不同软件时的冲突。 让我们来看一下容器的简单说明:

如果需要通俗易懂地说明容器的话,我认为容器是放东西的地方。 书包里放各种文具,衣柜里放各种衣服,鞋架里放各种鞋子,诸如此类的东西都可以。 我们现在说的集装箱可能偏向于网站、程序、甚至系统环境等APP应用。

什么是Docker

Docker是2013年初诞生的开源项目,最初是dotCloud公司内的业余项目。 基于谷歌公司发布的Go语言的实现。 项目随后加入了Linux基金会,遵守Apache 2.0协议,项目代码由GitHub维护。

说实话,我很少说什么是Docker,但我会用4点来说明什么是Docker。

Docker是世界领先的软件容器平台。 Docker是利用谷歌公司推出的Go语言开发实现的,利用Linux内核的cgroup、namespace、AUFS类的UnionFS等技术对流程进行封装隔离的操作系统级虚拟化技术。 隔离的过程独立于宿主和其他隔离的过程,因此也称为集装箱。 Docke的第一个实现基于LXC。 由于Docker可以自动执行重复性任务,如构建和配置开发环境,因此开发人员可以将精力集中在真正重要的事情上。 是优秀的软件的构筑。 用户可以轻松地创建和使用容器,并将自己的APP放入容器中。 容器还可以进行版本控制、复制、共享和修改,就像管理普通代码一样。

为什么用Docker

作为新的虚拟化方式,Docker与传统的虚拟化方式相比具有很多优点。

Docker有以下显着好处:

1 .更快的交货和部署

Docker会在整个开发周期中完美地帮助你实现快速交货。 使用Docker,开发人员可以在安装了APP和服务的本地容器中进行开发。 可以直接融入可持续发展进程。

例如,开发人员可以使用标准镜像构建一组开发容器,然后在开发完成后,承运人可以直接使用该容器部署代码。 Docker可以快速创建容器、快速重复APP和可视化整个过程,从而使团队中的其他成员更容易理解APP是如何创建和运行的。 Docker容器又轻又快! 集装箱的启动时间以秒为单位,大大节省了开发、测试和部署的时间。

2 .有效部署和扩展

Docker容器可以在几乎任何平台上运行,包括物理机、虚拟机、公共云、私有云、PC和服务器。 这种兼容性允许用户将一个APP从一个平台直接迁移到另一个平台。

Docker的兼容性和轻量性使负载的动态管理变得更加容易。 可以快速扩展,提供方便的脱机APP和服务。 这个速度接近实时。

3 .提高资源利用率

Docker的系统资源利用率很高,一台主机可以同时运行数千个Docker容器。 容器除了执行其中的APP应用外,几乎不消耗额外的系统资源,因此APP应用性能高,系统开销最小。 传统的虚拟机方法运行10个不同的APP会启动10个虚拟机,而Docker只需要启动10个隔离的APP。

4 .更简单的管理

使用Docker,只需要一个小的修改就可以替换传统的大量更新工作。 所有更改都将逐步分发和更新,从而实现自动化和有效的管理。

Docker与虚拟机的区别

对比上面两张图,我们发现虚拟机有操作系统,它本身非常重要

小的应用程序却因为携带了操作系统而变得非常大,很笨重。

Docker是不携带操作系统的,所以Docker的应用就非常的轻巧。

另外在调用宿主机的CPU、磁盘等等这些资源的时候,拿内存举例,虚拟机是利用Hypervisor去虚拟化内存,整个调用过程是虚拟内存->虚拟物理内存->真正物理内存,但是Docker是利用Docker Engine去调用宿主的的资源,这时候过程是虚拟内存->真正物理内存。

Docker 基本架构

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 主要有以下几部分组成:

Docker Client 客户端Docker daemon 守护进程Docker Image 镜像Docker Container 容器Docker Registry 仓库

客户端和守护进程:

Docker是C/S(客户端client-服务器server)架构模式。docker通过客户端连接守护进程,通过命令向守护进程发出请求,守护进程通过一系列的操作返回结果。docker客户端可以连接本地或者远程的守护进程。docker客户端和服务器通过socket或RESTful API进行通信。

Docker 容器通过 Docker 镜像来创建,容器与镜像的关系类似于面向对象编程中的对象与类。

如图所示基本架构:

1.Docker 镜像(Images)

Docker 镜像是用于创建 Docker 容器的模板。

2.Docker 容器(Container)

容器是独立运行的一个或一组应用。

3.Docker 客户端(Client)

Docker 客户端通过命令行或者其他工具使用 Docker API

4.Docker 主机(Host)

一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

5.Docker 仓库(Registry)

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

6.Docker Hub

提供了庞大的镜像集合供使用。

7.Docker Machine

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

总之,Docker是一种轻量虚拟化的容器技术,提供类似虚拟机的隔离功能,并使用了一种分层的联合文件系统技术管理镜像,能极大简化环境运维过程,最后看看对应的应用场景。

Docker的应用场景

1. 作为云主机使用

相比虚拟机来说,容器使用的是一系列非常轻量级的虚拟化技术,使得其启动、部署、升级跟管理进程一样迅速,用起来灵活又感觉跟虚拟机一样没什么区别,所以有些人直接使用Docker的Ubuntu等镜像创建容器,当作轻量的虚拟机来使用。

2. 作为服务使用

如果你仅仅把Docker容器当作一个轻量的固定虚拟机用,那其实只能算是另类用法,Docker容器最重要价值在于提供一整套平台无关的标准化技术,简化服务的部署、升级、维护,只要把需要运维的各种服务打包成标准的集装箱,就可以在任何能运行Docker的环境下跑起来,达到开箱即用的效果,这个特点才是Docker容器风靡全球的根本原因。

Web应用服务持续集成和持续部署

3. 微服务架构使用

如果说上面两种应用场景还不足以体现出与传统的PaaS平台相比的巨大优势的话,那么对微服务的架构这种复杂又灵活的使用场景的无缝支持绝对具有革命意义。

微服务架构将传统分布式服务继续拆分解耦,形成一些更小服务模块,服务模块之间独立部署升级,这些特性与容器的轻量、高效部署不谋而合。

更多阿里P8架构师谈:架构设计16精讲(关注后即可查看)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。