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

    (1)课程调查

    课程开始前完全不知道这门课的的学习内容,就算想百度也不知道百度啥,直到现在我还是不太懂这门课具体学些啥。

    (2)了解微服务

    微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
    “微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构"---- Martin Fowler的博客

    单体应用 vs 微服务架构

    • 优点
      • 提升开发交流,每个服务足够内聚,足够小,代码容易理解;
      • 服务独立测试、部署、升级、发布;
      • 按需定制的DFX,资源利用率,每个服务可以各自进行x扩展和z扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;
      • 每个服务按需要选择HA的模式,选择接受服务的实例个数;
      • 容易扩大开发团队,可以针对每个服务(service)组件开发团队;
      • 提高容错性(fault isolation),一个服务的内存泄露并不会让整个系统瘫痪;
      • 新技术的应用,系统不会被长期限制在某个技术栈上;
    • 缺点
      • 没有银弹,微服务提高了系统的复杂度;
      • 开发人员要处理分布式系统的复杂性;
      • 服务之间的分布式通信问题;
      • 服务的注册与发现问题;
      • 服务之间的分布式事务问题;
      • 数据隔离再来的报表处理问题;
      • 服务之间的分布式一致性问题;
      • 服务管理的复杂性,服务的编排;
      • 不同服务实例的管理。

    光看概念有点晦涩,但知乎上有个高赞回答,相对比较好理解一些。什么是微服务

    (3)学习docker技术

    docker作为微服务的一种十分典型的代表技术

    学习了解docker的相关概念(容器、镜像等),了解docker、docker compose、Dockerfile、docker machine、Swarm、k8s是什么,是做什么用的,心中有概念即可;
    搭建你自己的docker环境,系统环境不限(主流的有Ubuntu/CentOS/Debian/Windows/MacOS等),完成docker的基本入门,包括但不限于:容器的创建、删除、更新和查询,创建并维护自己的镜像仓库,实现拉取和上传镜像等。
    关于docker,大家了解一下如何通俗解释Docker是什么?

    docker compose:使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具

    Dockerfile :是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

    Docker Machine :是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。

    Docker Swarm :是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。

    Kubernetes(k8s):是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。

        *说实话,我还是不太懂这些到底是什么东西。。。*
    

    搭建你自己的docker环境

    系统环境:Ubuntu
    不得不说,网速很大程度上限制了我的学习效率啊

    配置镜像加速器

    拉取镜像

    使用容器

    运行交互式的容器

    启动容器(后台模式)

    通过 docker ps 来查看确认容器有在运行并在宿主主机内使用 docker logs 命令,使用容器的id来查看容器的标准输出

    使用 docker stop 命令来停止容器。

  • 相关阅读:
    18.中介者模式
    17.迭代器模式
    16.解释器模式
    15.命令模式
    Git超详细用法,通俗易懂
    CSS Sprites精灵图(雪碧图)
    小程序被冻结,忘记原始ID,如何找回?
    vue组件-视频播放之video.js
    基础设计模式-04 复杂对象创建的建造器模式
    基础设计模式-03 从过滤器(Filter)校验链学习职责链模式
  • 原文地址:https://www.cnblogs.com/liang-an/p/12680884.html
Copyright © 2011-2022 走看看