zoukankan      html  css  js  c++  java
  • 2020系统综合实践 第1次实践作业

    (1)课程调查

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

    我对这门课的认识,一开始以为是系统结构的实验课。。在机房操作的实验,类似接口那种实验,然后今天早上发现居然有博客园,居然要用虚拟机,觉得好像有点不对劲。
    我理想中的这门课能让我加深对系统综合实践的理解,大家都能够很好的完成,顺利毕业。

    (2)了解微服务

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

    我之前并不了解什么是微服务,上网查询中觉得这个解释很好

    看军事新闻的同学应该都知道,一艘航空母舰作战能力虽然很强,但是弱点太明显,就是防御能力太差,单艘的航空母舰很少单独行动,通常航空母舰战斗群才是主要军事力量,你可以把单艘航母理解为的单体应用(防御差,机动性不好),把航母战斗群(调度复杂,维护费用高)理解为微服务。

    简单讲就是要分解业务,让服务能够独立运行,一系列微服务共同构建起整个系统。

    微服务特点:

    • 针对特定服务发布,影响小,风险小,成本低
    • 频繁发布版本,快速交付需求
    • 低成本扩容,弹性伸缩,适应云环境

    微服务优点:

    • 每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。

    • 微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。

    • 微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。

    微服务缺点:

    • 微服务架构可能带来过多的操作。
    • 因为分布部署跟踪问题难。

    (3)学习docker技术

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

    • 学习了解docker的相关概念(容器、镜像等),了解docker、docker compose、Dockerfile、docker machine、Swarm、k8s是什么,是做什么用的,心中有概念即可;

    docker:

    docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。如果出现的故障,可以通过镜像,快速恢复服务。

    docker compose:

    Compose 是用于定义和运行多容器 Docker 应用程序的工具。

    Dockerfile:

    是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

    docker machine:

    Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。

    Swarm:

    Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。

    k8s:

    k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉。

    • 搭建你自己的docker环境,系统环境不限(主流的有Ubuntu/CentOS/Debian/Windows/MacOS等),完成docker的基本入门,包括但不限于:容器的创建、删除、更新和查询,创建并维护自己的镜像仓库,实现拉取和上传镜像等。

      docker的安装,一开始我没有按照老师给的教程,而是自己搜索,然后安装失败了,后来重新开始,挺成功的完成了。

    ​ 查看版本

    ​ 删除之前安装一半失败了的残余。

    ​ 安装成功

    ​ 后台创建一个容器,-d可以使容器后台运行,不进入,后面再使用 attach 进入该终端

    使用exit命令,退出容器,最后使用 rm -f 删除该容器。

    使用ps 检查发现容器已经被删除完成了。

    教程里还有一个简单的,运行一个web应用,首先pull一个镜像下来,然后在容器里运行。-P是让容器内部的网络端口映射到我们的主机上,使用ps命令查看容器,用浏览器访问web应用。

    ​ 然后先用stop停止容器,再进行rm删除。

    首先先在dockerhub仓库链接:docker hub上创建账号并创建自己的仓库,并在本地使用login登录。

    使用 images 命令查看一下现在拥有的镜像。

    使用search 命令在官方的仓库中搜索,并用pull将它拉下来,使用images查看,拉取成功。

    使用 tag命令 命名成新的firstone,然后使用push命令上传到我的仓库里。

    上传成功~

  • 相关阅读:
    C++学习9 this指针详解
    福建省第八届 Triangles
    UVA 11584 Partitioning by Palindromes
    POJ 2752 Seek the Name, Seek the Fame
    UVA 11437 Triangle Fun
    UVA 11488 Hyper Prefix Sets (字典树)
    HDU 2988 Dark roads(kruskal模板题)
    HDU 1385 Minimum Transport Cost
    HDU 2112 HDU Today
    HDU 1548 A strange lift(最短路&&bfs)
  • 原文地址:https://www.cnblogs.com/sayoko/p/12683146.html
Copyright © 2011-2022 走看看