系统综合实践第一次作业

(1)课程调查

进入大三下学期的后半段,大学阶段的理论课程应该已经修得八九不离十了,在这个时间点迎来系统综合实践这门课,作为培养计划的一门新课程,我们非常希望了解你们对于课程的希望,请写下你对这门课的认识和你理想中的这门课程是怎么样的。

上学期上软工的时候老师好像有说到这门课,听说好像也是做软件开发,不过这们课学分比较多,会进行完整的α,β冲刺。希望这门课能教会我们一些有用的技能,帮助我们以后的就业。

(2)了解微服务

第一次作业我们将接触一种新型的软件架构——微服务(也许部分同学已经有所了解)。大家要做的是学习并了解该技术,微服务是什么,有什么特点,相较于传统的软件架构,它有什么优缺点,它是怎样部署的。

  • 定义
    微服务是SOA架构下的最终产物,该架构的设计目标是为了肢解业务,使得服务能够独立运行。微服务设计原则:1、各司其职 2、服务高可用和可扩展性。
  • 相对于传统软件的优点:
    提升开发交流,每个服务足够内聚,足够小,代码容易理解;服务独立测试、部署、升级、发布;按需定制的DFX,资源利用率,每个服务可以各自进行x扩展和z扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;每个服务按需要选择HA的模式,选择接受服务的实例个数;容易扩大开发团队,可以针对每个服务(service)组件开发团队;提高容错性(fault isolation),一个服务的内存泄露并不会让整个系统瘫痪;新技术的应用,系统不会被长期限制在某个技术栈上;
  • 相对于传统软件的缺点
    没有银弹(可以有效提高开发效率同时避免软件重大缺陷的方法),微服务提高了系统的复杂度;开发人员要处理分布式系统的复杂性;服务之间的分布式通信问题;服务的注册与发现问题;服务之间的分布式事务问题;数据隔离再来的报表处理问题;服务之间的分布式一致性问题;服务管理的复杂性,服务的编排;不同服务实例的管理。
  • 微服务的部署
    微服务架构的应用系统包含若干个微服务每个微服务部署多个实例通过自动部署与运维工具实现部署自动化

(3)学习docker技术

docker作为微服务的一种十分典型的代表技术,我们要做的是:

  • 学习了解docker的相关概念(容器、镜像等),了解docker、docker compose、Dockerfile、docker machine、Swarm、k8s是什么,是做什么用的,心中有概念即可;
  • 搭建你自己的docker环境,系统环境不限(主流的有Ubuntu/CentOS/Debian/Windows/MacOS等),完成docker的基本入门,包括但不限于:容器的创建、删除、更新和查询,创建并维护自己的镜像仓库,实现拉取和上传镜像等。

Ubuntu 18.04 安装 Docker-ce

1.更换国内软件源,推荐中国科技大学的源,稳定速度快(可选)

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
2.安装需要的包

sudo apt install apt-transport-https ca-certificates software-properties-common curl
3.添加 GPG 密钥,并添加 Docker-ce 软件源,这里还是以中国科技大学的 Docker-ce 源为例

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
4.添加成功后更新软件包缓存

sudo apt update
5.安装 Docker-ce

sudo apt install docker-ce
6.设置开机自启动并启动 Docker-ce(安装成功后默认已设置并启动,可忽略)

sudo systemctl enable docker
sudo systemctl start docker
7.测试运行

sudo docker run hello-world

容器的创建、删除、更新和查询

使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器,接着退出容器

查询容器

删除容器

启动一个已停止的容器

导出容器

创建并维护自己的镜像仓库,实现拉取和上传镜像

创建镜像仓库

拉取和上传镜像


posted @ 2020-04-17 15:03  牧分丶  阅读(159)  评论(0编辑  收藏  举报