第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:[镜像版本号]

原文地址:https://www.cnblogs.com/wawu/p/12717031.html