• 第1次实践作业


    (1)课程调查

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

    认识:上理论课时感觉是比较偏硬件的课,但是第一天看见博客园的二维码时想到了软工,打开教程看见Linux,内心百感交集
    理想:因为和上课之前的想法偏差好大,所以没有什么特别的理想。(偷偷许愿希望过程顺利一点)

    (2)了解微服务

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

    • 微服务是什么:
      微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议

    • 有什么特点:
      针对特定服务发布,影响小,风险小,成本低
      频繁发布版本,快速交付需求
      低成本扩容,弹性伸缩,适应云环境
      相较于传统的软件架构,它有什么优缺点:

      • 优点:
        提升开发交流,每个服务足够内聚,足够小,代码容易理解;
        服务独立测试、部署、升级、发布;
        按需定制的DFX,资源利用率,每个服务可以各自进行x扩展和z扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;
        每个服务按需要选择HA的模式,选择接受服务的实例个数;
        容易扩大开发团队,可以针对每个服务(service)组件开发团队;
        提高容错性(fault isolation),一个服务的内存泄露并不会让整个系统瘫痪;新技术的应用,系统不会被长期限制在某个技术栈上;
      • 缺点:
        没有银弹,微服务提高了系统的复杂度;
        开发人员要处理分布式系统的复杂性;
        服务之间的分布式通信问题;服务的注册与发现问题;
        服务之间的分布式事务问题;数据隔离再来的报表处理问题;
        服务之间的分布式一致性问题;
        服务管理的复杂性,服务的编排;
        不同服务实例的管理。
    • 它是怎样部署的:
      CI/CD和自动化(分布式系统几乎不可能通过人工手动发布)
      虚拟化技术(要保证微服务运行环境隔离,目前行业主流的是使用 Docker 容器)
      日志聚合,全链路监控(高度可观察和分析诊断问题)

    (3)学习docker技术

    docker作为微服务的一种十分典型的代表技术,我们要做的是:
    学习了解docker的相关概念(容器、镜像等),了解docker、docker compose、Dockerfile、docker machine、Swarm、k8s是什么,是做什么用的,心中有概念即可;
    搭建你自己的docker环境,系统环境不限(主流的有Ubuntu/CentOS/Debian/Windows/MacOS等),完成docker的基本入门,包括但不限于:

    安装过程太痛了,重装了次虚拟机。不过重装后的安装特别顺利。

    容器的创建与退出:

    docker run :创建一个新的容器并运行一个命令(或docker create :创建一个新的容器但不启动它)
    

    查询所有容器:

    docker ps : 列出容器(-a :显示所有的容器,包括未运行的。)
    

    查询单个容器:

    docker inspect : 获取容器/镜像的元数据。
    

    停止容器:

    docker stop :停止一个运行中的容器
    


    重启容器:

    docker restart :重启容器(docker start :启动一个或多个已经被停止的容器)
    


    删除容器:

    docker rm :删除一个或多个容器。
    


    搜索镜像:

    docker search : 从Docker Hub查找镜像
    


    拉取镜像:

    docker pull : 从镜像仓库中拉取或者更新指定镜像(要记得换阿里源,不然时间白白浪费)
    


    删除镜像:

    docker rmi : 删除本地一个或多少镜像。
    


    查询镜像:

    docker images:列出本地实例。
    


    上传镜像:

    docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/wawoo/test:[镜像版本号]
    docker push registry.cn-hangzhou.aliyuncs.com/wawoo/test:[镜像版本号]
    

  • 相关阅读:
    视图和触发器
    45题的难点
    表连接、Tsql基本编程和存储过程
    五种函数、子查询和分页查询
    语句创建数据库表及增删改查
    约束
    pyhton的参数类型
    python的数组与集合
    python基础--编码
    NSIS的Push与Pop
  • 原文地址:https://www.cnblogs.com/wawu/p/12717031.html
Copyright © 2020-2023  润新知