• 2020系统综合实践 第1次实践作业


    (1)课程调查

    • 对于这么课程,一开始以为是关于计算机系统方面的。但是经过第一次课的学习,让我改变我的看法,并对此有了进一步的了解。docker类似于应用托管平台,用户可以在上面开发,交付和运行应用程序,实现应用程序与基础架构分离,可能就像云服务那样子的吧,只不过面向的对象缩小了,针对的是应用程序。希望自己能把这么课学好,增加技能包。

    (2)了解微服务。

    • 微服务是什么
      微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
      对于大型应用程序来说,增加更多的用户则意味着提供更大型的弹性计算云(EC2)实例规模,即便只是其中的一些功能扩大了规模亦是如此。其最终结果就是企业用户只需为支持超过微服务的那部分需求的EC2实例支付费用。
    • 微服务特点
      1.针对特定服务发布,影响小,风险小,成本低
      2.频繁发布版本,快速交付需求
      3.低成本扩容,弹性伸缩,适应云环境
    • 微服务优点
      每个服务足够内聚,足够小,代码容易理解、开发效率提高;服务之间可以独立部署,微服务架构让持续部署成为可能;每个服务可以各自进行负载均衡扩展和数据库扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;容易扩大开发团队,可以针对每个服务(service)组件开发团队;提高容错性(fault isolation),一个服务的内存泄露并不会让整个系统瘫痪;系统不会被长期限制在某个技术栈上。
    • 微服务缺点
      开发人员要处理分布式系统的复杂性;开发人员要设计服务之间的通信机制,对于需要多个后端服务的user case,要在没有分布式事务的情况下实现代码非常困难;涉及多个服务直接的自动化测试也具备相当的挑战性;服务管理的复杂性,在生产环境中要管理多个不同的服务的实例,这意味着开发团队需要全局统筹(PS:现在docker的出现适合解决这个问题);应用微服务架构的时机如何把握?对于业务还没有理清楚、业务数据和处理能力还没有开始爆发式增长之前的创业公司,不需要考虑微服务架构模式,这时候最重要的是快速开发、快速部署、快速试错。
    • 微服务部署
      1.基于主机(物理机或虚机)的多服务实例;2.基于主机(物理机或虚机)的服务实例;3.基于容器的服务实例;4.无服务器部署。

    (3)学习docker技术

    • 概念理解
      • docker:Docker:是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
      • docker compose:Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
      • Dockerfile:Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
      • docker machine:是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机
      • Swarm:Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
      • k8s:是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈。

    搭建环境

    经过无数次不厌其烦的尝试,终于安装成功了。

    阿里云官方镜像加速(强烈建议,不然下载速度会让人崩溃)

    拉取镜像

    sudo docker pull ubuntu
    

    启动容器与退出

    sudo docker run -it unbuntu /bin/bash
    exit
    

    查看所有容器

    sudo docker ps -a
    

    停止容器运行

    sudo docker stop 178ea643af66
    

    查询容器

    sudo docker inspect 178ea643af66
    

    开启与删除容器

    sudo docker start 178ea643af66
    sudo docker rm -f 178ea643af66
    sudo docker ps
    

    拉取查看删除镜像

    sudo docker pull ubuntu:18.04
    sudo docker images
    sudo docker rmi ubuntu
    sudo docker images
    

  • 相关阅读:
    LCA最近公共祖先Tarjan(离线)
    51nod 1135 原根
    51nod 1134最长递增子序列
    51nod 1130 斯特林公式
    51nod 1186 Miller-Rabin素数测试
    51Nod 1257 背包问题 V3
    另类求组合数
    Gym
    msp430项目编程45
    msp430项目编程44
  • 原文地址:https://www.cnblogs.com/wangerfu/p/12690170.html
Copyright © 2020-2023  润新知