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

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

    答:对于这门课的第一感觉是硬件方面的实验,类似组原这样。但看这第一次实践就想到了软件工程实践,往事历历在目。因为理论学习差不多快修完了,所以这一门课就是综合所学知识,实践操作一遍一个应用开发的所有流程。

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

    ###微服务是什么 维基百科中这样定义:微服务的概念最早是在 2014 年由 Martin Fowler 和 James Lewis 共同提出,他们定义了微服务是由单一应用程序构成的小服务,拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。同时,服务会使用最小规模的集中管理 (例如 Docker)技术,服务可以用不同的编程语言与数据库等。 微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。

    ###有什么特点 1、通过分解百巨大单体式应用为多个服务方法解决了复杂性问题,每个微服务相对较小 2、每个单体应用度不局限于固定的技术栈,开发者可以自由选择开发技术,提供API服务。 3、每个微服务独立的开发,部署 4、单一职责答功能,每个服务都很简单,只关注于一个业务功能 5、易于规模化开发版,多个开发团队可以并行开发,每个团队负责一项服务 6、改善故障隔离权。一个服务宕机不会影响其他的服务

    ###有什么优点 1、每个服务独立存在,所以可以单独部署,不用每次发布某个来功能都经历一次全服务发布。 2、遵循单一功能原则,服务之间可以通过RESTFUL或者RPC调用,功能解藕 3、“细粒度” 的高可源扩展性,每个服务都可以单独扩展,单独负载均衡 4、去中心化,尽可能地实现 “自服务” 5、有利于简化单独的开发测试以及部署,对开发团队友好

    ###有什么缺点 1、服务的内可用性和维护性高度依赖于服务治理,如果治容理得不好将会是灾难 2、某些服务可能造成性能瓶颈,某些服务的宕机可能导致很多服务受影响 3、服务配置繁琐

    ###怎样部署 1、一台主机部署多服务实例 2、每个主机一个服务实例 3、每台容器一个服务实例 4、松耦合,可独立部署

    ##(3)学习docker技术 ###相关概念 docker:Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 docker compose:定义和运行多容器Docker应用程序的工具。 Dockerfile:一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 docker machine:在虚拟主机上安装Docker的工具,并可以使用docker-machine命令来管理主机。 Swarm:Docker的集群管理工具。 k8s:开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等

    ###Ubuntu下安装docker 更新apt包索引:

    $ sudo apt-get update
    

    安装 apt 依赖包,用于通过HTTPS来获取仓库:

    $ sudo apt-get install 
        apt-transport-https 
        ca-certificates 
        curl 
        gnupg-agent 
        software-properties-common
    

    添加 Docker 的官方 GPG 密钥:

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

    使用以下指令设置稳定版仓库:

    $ sudo add-apt-repository 
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
      $(lsb_release -cs) 
      stable"
    

    安装最新版本的 Docker Engine-Community

    $ sudo apt-get install docker-ce
    

    ###容器使用 如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:

    $ docker pull ubuntu
    

    启动容器:

    $ docker run -it ubuntu /bin/bash
    

    参数说明:

    -i: 交互式操作。
    -t: 终端。
    /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
    

    查看所有的容器命令如下:

    $ docker ps -a
    

    停止/启动一个容器

    $ docker stop <容器 ID>
    $ docker restart <容器 ID>
    

    进入一个容器:

    $ docker attach <容器 ID>
    

    删除容器:

    $ docker rm -f <容器 ID>
    

    容器查询:

    $ docker inspect <容器ID>
    
  • 相关阅读:
    ~随笔A007~html中input输入框的字数限制、同步input的输入内容至div中
    ~随笔A006~微信扫码的授权、用户绑定、关注公众号、消息反馈
    【CV】实验二:特征检测与匹配
    【笔记】DLX算法及常见应用
    【笔记】和算法无关的那些东东
    【笔记】康拓展开&逆康拓展开
    【笔记】离散对数
    【笔记】Shift-And算法&Shift-OR算法
    【模板】中缀表达式求值
    【笔记】数据库系统
  • 原文地址:https://www.cnblogs.com/hurricane1/p/12709915.html
Copyright © 2011-2022 走看看