zoukankan      html  css  js  c++  java
  • 第1次实践作业

    1.课程调查

    • 其实我本身对这门课并不是很了解,听名字还以为是硬件类的实验课,结果没想到竟然有点类似软工实践,那可真是太吓人了,只希望这门课不要像软工一样离谱就好,希望能有合理的时间安排来进行知识的消化吸收吧。久仰docker树莓派的大名,但从未动手实践,对于相关知识我还是很有兴趣去学习的。既然是做服务端的课程,自然是希望自己能够学到新知识,同时保证自己的身体健康。

    2.了解微服务

    微服务是什么,有什么特点,相较于传统的软件架构,它有什么优缺点,它是怎样部署的

    • 微服务:
      • 微服务是一种软件开发技术,是面向服务的架构(SOA)结构风格的一种变体,将应用程序编排成一系列松耦合的服务。在微服务架构中,各个服务是细粒度的,协议是轻量级的。
    • 特点:
      • 针对特定服务发布,影响小,风险小,成本低
      • 频繁发布版本,快速交付需求
      • 低成本扩容,弹性伸缩,适应云环境
    • 优点:
      • 提升开发交流,每个服务足够内聚,足够小,代码容易理解
      • 服务独立测试、部署、升级、发布
      • 按需定制的DFX,资源利用率,每个服务可以各自进行x扩展和z扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上
      • 需要选择HA的模式,选择接受服务的实例个数
      • 容易扩大开发团队,可以针对每个服务(service)组件开发团队
      • 提高容错性(fault isolation),一个服务的内存泄露并不会让整个系统瘫痪
      • 新技术的应用,系统不会被长期限制在某个技术栈上
    • 缺点:
      • 提高了系统复杂度
      • 开发人员要处理分布式系统的复杂性
      • 服务之间的分布式通信问题
      • 服务的注册与发现问题
      • 服务之间的分布式事务问题
      • 数据隔离带来的报表处理问题
      • 服务之间的分布式一致性问题
      • 服务管理的复杂性,服务的编排
      • 不同服务实例的管理##3.学习docker技术
    • 如何部署:
      • 一台主机部署多服务实例
      • 每个主机一个服务实例
      • 每台容器一个服务实例
      • 松耦合,可独立部署

    3.学习docker技术

    • 相关概念
      • docker:开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。如果出现的故障,可以通过镜像,快速恢复服务。
      • docker compose:定义和运行多容器Docker应用程序的工具。
      • Dockerfile:一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
      • docker machine:在虚拟主机上安装Docker的工具,并可以使用docker-machine命令来管理主机。
      • Swarm:Docker的集群管理工具。
      • k8s:开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等
    • 搭建docker环境
      • 按照 官网步骤安装docker

      • 从远程仓库拉取镜像:

        sudo docker pull ubuntu
        

      • 创建容器
        sudo docker run -it ubuntu /bin/bash
        参数说明:

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

        并用sudo docker ps -a查看当前容器

        进入容器并执行echo "hello"

      • 删除容器
        docker rm -f <容器ID>

      • 容器查询
        docker inspect <容器ID>

      • 删除镜像
        先停止容器,再删除容器,最后删除镜像

        docker stop <容器ID>
        docker rm <容器ID>
        docker rmi <镜像>
        

      • 维护自己的镜像仓库

        • 登录
          使用sudo docker login并输入在docker hub上创建的账号名和密码
        • 上传本地镜像:
          使用docker image tag [imageName] [username]/[repository]:[tag]为本地的image标注用户名和版本
          使用docker image push [username]/[repository]:[tag]发布image文件
          sudo docker image tag ubuntu 471727250/myresp1:1
          sudo docker image push 471727250/myresp1:1
          

          上传成功
  • 相关阅读:
    Linux自定义服务文件编写
    Ubuntu PPA方式安装vim
    ubuntu PPA使用指南
    ubuntu安装最新emacs
    Docker支持中文
    C#调用Go版DLL
    C#调用exe程序
    golang编写动态库供c#程序调用
    科学正在追赶中医,中医将变得时髦(转载)
    常见.NET功能代码汇总 (3)
  • 原文地址:https://www.cnblogs.com/fangdaoyou/p/12677668.html
Copyright © 2011-2022 走看看