第1次实践作业
1.课程调查
其实对这门课并不是很了解,以为是系统结构实验捣鼓些硬件啥的,一度以为疫情期间这门课上不了,结果白高兴一场。对于相关知识我还是很有兴趣去学习的。既然是做服务端的课程,自然是希望自己能够学到新知识,同时保证自己的身体健康。
2.了解微服务
传统的it架构的缺陷:
使用传统的整体式架构应用开发系统,随着新需求的不断增加,企业更新和修复大型整体式应用变得越来越困难;
随着移动互联网的发展,企业被迫将其应用迁移至现代化UI界面架构以便能兼容移动设备,这要求企业能实现应用功能的快速上线;
许多企业在SOA投资中得到的回报有限,SOA可以通过标准化服务接口实现能力的重用,但对于快速变化的需求,受到整体式应用的限制,有时候显得力不从心;
是什么
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
特点
- 每个服务运行在其独立的进程中
- 服务和服务之间采用轻量级的通信机制相互沟通
- 每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境
3.学习docker技术
相关概念
- docker:开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。如果出现的故障,可以通过镜像,快速恢复服务。
- docker compose:定义和运行多容器Docker应用程序的工具。
- Dockerfile:一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
- docker machine:在虚拟主机上安装Docker的工具,并可以使用docker-machine命令来管理主机。
- Swarm:Docker的集群管理工具。
- k8s:开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等
搭建docker环境
- 按照 官网步骤安装docker
-
从远程仓库拉取镜像:
sudo docker pull ubuntu
-
创建容器
sudo docker run -it ubuntu /bin/bash
参数说明:-i: 交互式操作。 -t: 终端。 /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
并用
sudo docker ps -a
查看当前容器
进入容器并执行
dir"
-
删除容器
-
容器查询
docker inspect <容器ID>
-
删除镜像
先停止容器,再删除容器,最后删除镜像docker stop <容器ID> docker rm <容器ID> docker rmi <镜像>
-
维护自己的镜像仓库
-
登录
使用sudo docker login
并输入在docker hub上创建的账号名和密码 -
上传本地镜像:
使用
docker image tag [imageName] [username]/[repository]:[tag]
为本地的image标注用户名和版本
使用
docker image push [username]/[repository]:[tag]
发布image文件
上传成功
-