单体应用拆分成微服务后,能够实现快速开发迭代,但因为小服务太多 , 导致测试和部署的成本提高 。
单体应用中,将Spring Boot工程打包成一个war包,然后部署在linux服务器的Tomcat中就可以了 。
拆分成微服务后,修改一个需求 , 可能会涉及多个微服务,这个时候,被修改过的代码都需要重新测试、打包、部署、上线发布 。无形之中 , 给现场运维人员增加了成倍的工作压力 。
微服务通常会在共有云上创建ECS进行扩容 , ECS通常只包含了基本的操作系统环境,没有包含运行JAVA的环境jdk,就需要在ECS上安装jdk,而且每个服务依赖的jdk版本可能也不会相同,一般情况下,都会采用jdk8,但有些喜爱前言技术的项目经理 , 可能要试一下jdk21,毕竟也是一个长期稳定的大版本 。
而容器技术可以解决上面的两个问题(代码部署难、缺环境) 。
时下容器技术最火的当属Docker,很多小伙伴也用了多年,只知道它是容器技术,可以将程序和依赖打到Docker里,然后发布在Linux服务器中,就完成了程序的部署,一次构建、到处运行,很牛逼,至于其它的 , 就不知道了 , 也不想知道~
一、神之容器 Docker
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 , 然后发布到任何流行的Linux或windows操作系统的机器上,也可以实现虚拟化 。容器是完全使用沙箱机制,相互之间不会有任何接口 。Docker属于Linux容器的一种封装,提供简单易用的容器使用接口 。它是目前最流行的Linux容器解决方案 。
一个完整的Docker由以下七个部分组成:
- Docker Client 客户端 。
- Docker Daemon 守护进程,提供Docker Server,用于接收Docker Client的请求 , Docker Server 通过路由Router与分发调度,找到相应的 Handler 来执行请求 。
- Docker Image 镜像,包含Distribution(分发)、Layer(层)、Image(镜像)、Registry(注册中心)、Reference(引用) 。
- Docker Driver 驱动,Docker架构中的驱动模块,它主要通过与Docker守护进程进行交互 , 实现对Docker容器执行环境的定制和管理 。
- Docker Graph 内部数据库 , Docker Graph是Docker中的一种数据结构,用于记录和跟踪Docker镜像和容器之间的关系;
- LibcontAIner 函数库 , Libcontainer是Docker的底层容器管理库,它提供了一组接口和函数,用于创建和管理容器 。Libcontainer直接与内核交互,负责容器的命名空间、cgroup、网络设备等底层操作 。
- Docker Container 容器,Docker Container是Docker中的容器实例,它是通过Driver和Libcontainer共同协作创建出来的 。Driver提供了容器的运行环境定制,而Libcontainer则负责容器的具体创建和管理操作 。
文章插图
二、Docker架构图
- 用户使用 Docker Client(客户端) 与 Docker Daemon 建立通信,并发送请求给后者,客户端和守护程序之间通过REST API进行通信,可以使用UNIX套接字或网络接口;
- Docker Daemon(后台守护进程)提供Docker Server,用于接收Docker Client的请求,Docker Server 通过路由Router与分发调度,找到相应的 Handler 来执行请求,Docker Daemon提供Docker Engine,Engine是Docker 架构中的运行引擎,在Docker Engine中 , 一个Job可以被认为是内部最基本的工作执行单元 。Docker可以做的每一项工作,都可以抽象为一个Job 。例如,在容器内部运行一个进程 , 这是一个Job;创建一个新的容器,这也是一个Job 。
- Docker Image 镜像,包含Distribution(分发)、Layer(层)、Image(镜像)、Registry(注册中心)、Reference(引用) 。
- Docker Driver 驱动,Docker架构中的驱动模块 , 它主要通过与Docker守护进程进行交互,实现对Docker容器执行环境的定制和管理;
- 当需要容器镜像时 , 则从 Registry(注册中心) 中下载镜像,并通过镜像管理驱动 Graphdriver 将下载镜像以 Graph 的形式存储;
- Docker Graph 内部数据库,Docker Graph是Docker中的一种数据结构 , 用于记录和跟踪Docker镜像和容器之间的关系;
推荐阅读
- 一百万一夜?歌唱家董文华为何退圈?多年后他在法庭上揭露两人真实关系
- 一样的衣服拼多多比淘宝便宜为什么这么多 一样的衣服拼多多比淘宝便宜为什么
- 头发粗糙怎么变柔顺?TONY用了都点赞,亲测世界发油十大品牌
- 王思聪泡姑娘聊天记录被曝光网友们赞叹原来富二代是这么追姑娘的
- 看了这季《花少》,我不由得慨叹,国综都这么拍,还愁没人看吗?
- 无线网启用了但是红叉,笔记本无线网络连接出现红叉
- 昆凌严重焦虑!原来她爱的这么卑微?担心不能满足周杰伦的期望!
- 葡萄功能这么强大夏天就要多吃,不同颜色的葡萄都有哪些养生功效
- 张天爱暴瘦30斤,保持多年不反弹,这5个方法太实用了
- 视后的奖杯还没揣热乎,热依扎就这么“塌”了?