美文网首页
《微服务架构设计模式》读书笔记---第十二章:部署微服务应用

《微服务架构设计模式》读书笔记---第十二章:部署微服务应用

作者: 白板时钟 | 来源:发表于2020-05-25 19:00 被阅读0次

部署包含两个相关联的概念:流程和架构

部署流程包括一些由开发人员和运维人员执行的步骤,以便将软件投入到生产环境。
部署架构,定义了该软件运行的环境结构。

四种部署选项:

  1. 使用编程语言特定的发布包格式部署服务,例如JAVA JAR或者WAR文件。
  2. 将服务部署为虚拟机,把服务打包为虚拟机镜像
  3. 将服务部署为容器
  4. 使用Serverless部署模式部署服务。

使用编程语言特定的发布包格式部署服务

好处是快速高效;高效的利用资源,一台机器上,可以运行多个实例

弊端是:

  1. 缺乏对技术栈的封装,运维团队需要了解每个服务的细节,以准备对应的环境和web容器。
  2. 无法约束服务实例消耗的资源
  3. 同一台服务器上运行多个服务实例,缺乏隔离

将服务部署为虚拟机

将作为虚拟机镜像打包的服务部署到生产环境中,每个服务实例都是一个虚拟机。
好处:

  • 封装了技术栈
  • 隔离的服务实例

弊端:

  • 资源利用率较低
  • 部署速度较慢。构建镜像,从镜像实例化虚拟机都比较耗时
  • 系统管理的额外开销。需要负责更新镜像的操作系统和运行时打补丁

将服务部署为容器

在构建时,部署流水线使用容器镜像构建工具,该工具读取服务代码和镜像描述,以创建容器镜像并将其存储在镜像仓库中。在运行时,从个景象仓库中拉取容器镜像,并用于创建容器。
好处是:

  • 封装技术栈
  • 服务实例是隔离的。
  • 服务实例的资源收到限制

弊端,还是需要负责更新镜像的操作系统和运行时打补丁

Serverless部署

之前的三种部署方式,

  1. 都会存在资源浪费的情况,例如即使处于闲置状态,也需要为容器和虚拟机付费
    2.需要负责系统管理,必须承担操作系统和软件打补丁的工作

Serverless提供一种受约束的编程模型,以换取最小化的系统管理开销。如果需要更加精细化的管理基础设施,那么就不要选择Serverless
以AWS Lambda为例,只需要将应用程序打包为ZIP或者JAR文件,上载到AWS Lamdba,并指定相应请求的函数名称。AWS Lambda会自动运行你的微服务实例来影响请求,只需要为所花费的时间和消耗的内存付费。

好处:

  • 消除系统管理任务
  • 弹性,不需要预测负载,而判断实例数量。AWS Lamdba会帮忙处理。
  • 基于使用情况定价

弊端:

  • 长尾延迟。AWS需要花费时间来配置应用程序实例和启动应用程序,可能导致某些请求具有高延迟。
  • 基于有限事件与请求的编程模型。不适应长时间运行的服务,例如消息代理服务。

相关文章

  • 微服务架构的多种部署模式

    微服务架构的多种部署模式 声明:本文主要内容来自《微服务架构设计模式》 部署包含两个互相关联的概念:流程和架构。部...

  • 微服务(二 三)

    使用API网关(二) 本书关于设计,构建和部署微服务的第一章介绍了微服务架构模式。 讨论了应用这种架构的优缺点,以...

  • 微服务---一种架构模式

    1.微服务,是一种架构模式,用来构建应用程序。微服务架构,是一种在云中部署应用和服务的新技术。 2.微服务的范围:...

  • 大型互联网公司微服务架构的10个核心问题

    微服务最近非常流行,各大互联网公司纷纷采用微服务架构体系,微服务架构模式正在为敏捷部署以及复杂企业应用实施提供巨大...

  • 01、DDD和微服务的关系

    软件架构模式的演进 微服务设计和拆分的困境 1、微服务的粒度应该多大呀?2、微服务到底应该如何拆分和设计呢?3、微...

  • 微服务架构

    本文摘抄自百度百科,只为对微服务有一些了解。微服务架构 微服务架构是一项在云中部署应用和服务的新技术。大部分围绕微...

  • 《微服务架构设计模式》读书笔记---第一章:逃离单体地狱

    该书作者以FTGO应用程序从单体应用逐步演进为微服务架构为例子,解释了微服务架构的设计模式和主要概念。 单体地狱 ...

  • 第六章 Sleuth--链路追踪

    本文介绍微服务架构中最重要的设计模式:微服务之间的数据通讯。更多请看全文。 第一章:微服务的架构介绍发展第二章:微...

  • 微服务开发模式系列之九阴真经

    微服务是微服务架构中的概念,微服务架构是指由一系列微服务组成的体系架构。每一个微服务都是一个可以独立部署的程序,微...

  • 阿里P8 “布道师”,谈微服务的应用架构设计(附微服务教程)

    本次分享基于微服务的应用架构设计,内容涉及如何构建一个微服务应用,服务注册与发现,微服务测试和典型的微服务架构设计...

网友评论

      本文标题:《微服务架构设计模式》读书笔记---第十二章:部署微服务应用

      本文链接:https://www.haomeiwen.com/subject/wfkuahtx.html