系统综合实践第一次作业

第一次系统综合实践作业

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

大概是门硬件课程,和接口啊组原这些课差不多,需要到实验室进行动手操作。

了解微服务

第一次作业我们将接触一种新型的软件架构——微服务(也许部分同学已经有所了解)。大家要做的是学习并了解该技术,微服务是什么,有什么特点,相较于传统的软件架构,它有什么优缺点,它是怎样部署的。
  • 1、微软服务:一个新兴的软件架构,把一个大型的单个应用程序和服务拆分为数十个的支持微服务,其本质是,用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。我的的理解是,“微”字表示微小,意思就是将大的业务分解成小的业务,这些小业务就是微服务。
  • 2、微服务特点:
    a.按照业务来划分服务,单个服务代码量小,业务单一,风险小,低成本;
    b.每个微服务都有自己独立的基本组件;
    c.微服务能够集群化部署,并且有负载均衡的能力。
    d.有一套完整的实时日志系统。
  • 相较于传统的软件架构,它的优点:
    a.微服务易于被一个开发人员理解,修改以及维护。
    b.成本低,风险小
    c.频繁发布版本,快速交付需求
    d.低成本扩容,弹性伸缩,适应云环境
  • 缺点:
    a.分布式系统可能复杂难以管理。
    b.部署复杂。
  • 微服务的部署
    a.基于主机(物理机或虚机)的多服务实例
    b.基于主机(物理机或虚机)的服务实例
    c.基于容器的服务实例
    d.无服务器部署*

学习docker技术

  • docker的相关概念(容器、镜像等):

(1) docker:一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
(2)镜像:Docker 镜像,就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
(3)容器:。容器可以被创建、启动、停止、删除、暂停等。镜像和容器的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。

  • docker、docker compose、Dockerfile、docker machine、Swarm、k8s概念:

Docker Compose
(1)Compose是用于定义和运行多容器Docker应用程序的工具。通过 Compose,可以使用YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创建并启动所有服务。
(2)Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
(3)Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker(比如VirtualBox、 Digital Ocean、Microsoft),并可以使用docker-machine命令来管理主机;也可以集中管理所有的docker主机,比如快速的给100台服务器安装上docker。
(4)ocker Swarm是Docker的集群管理工具。它将 Docker主机池转变为单个虚拟Docker主机。它提供了标准的 Docker API,所有任何已经与 Docker守护程序通信的工具都可以使用Swarm轻松扩展到多个主机。
(5)ernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本。它是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

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

系统环境:Ubuntu
(1)docker的安装
安装成功之后,查看docker版本:

(2)pull一个ubuntu镜像

(3)创建一个容器,并执行退出命令

(4)查看当前的容器

(5)选择其中一个容器,进行删除操作,并且再次查看是否成功

原文地址:https://www.cnblogs.com/ShenHXbloc/p/12723732.html