zoukankan      html  css  js  c++  java
  • 正确理解微服务架构

        软件架构是一个包含各种组织的系统组织,这些组件包括 Web服务器, 应用服务器, 数据库,存储, 通讯层), 它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点

      微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。微服务也指一种种松耦合的、有一定的有界上下文的面向服务架构。也就是说,如果每个服务都要同时修改,那么它们就不是微服务,因为它们紧耦合在一起;如果你需要掌握一个服务太多的上下文场景使用条件,那么它就是一个有上下文边界的服务,这个定义来自DDD领域驱动设计。

      相对于单体架构和SOA,它的主要特点是组件化、松耦合、自治、去中心化,体现在以下几个方面:

      • 一组小的服务 
        服务粒度要小,而每个服务是针对一个单一职责的业务能力的封装,专注做好一件事情。

      • 独立部署运行和扩展 
        每个服务能够独立被部署并运行在一个进程内。这种运行和部署方式能够赋予系统灵活的代码组织方式和发布节奏,使得快速交付和应对变化成为可能。

      • 独立开发和演化 
        技术选型灵活,不受遗留系统技术约束。合适的业务问题选择合适的技术可以独立演化。服务与服务之间采取与语言无关的API进行集成。相对单体架构,微服务架构是更面向业务创新的一种架构模式。

      • 独立团队和自治 
        团队对服务的整个生命周期负责,工作在独立的上下文中,自己决策自己治理,而不需要统一的指挥中心。团队和团队之间通过松散的社区部落进行衔接。

      我们为什么采用微服务呢?

    "让我们的系统尽可能快地响应变化" - Rebecca Parson ;

      让我们的系统尽可能快地去响应变化。其实几十年来我们一直在尝试解决这个问题。如果一定要在前面加个限制的话,那就是低成本的快速响应变化。上世纪90年代Kent Beck提出要拥抱变化,在同期出现了诸多轻量级开发方法(诸如 XP、Scrum);2001年敏捷宣言诞生,之后又出现了精益、看板等新的管理方式。如果说,这些是为了尽快的响应变化,在软件开发流程和实践方面提出的解决方案,那么微服务架构就是在软件技术和架构层面提出的应对之道。

    服务之间如何通信

    2016102726

    微服务优点

    • 每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。
    • 微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。
    • 微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
    • 微服务能使用不同的语言开发。
    • 微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如Jenkins, bamboo 。
    • 一个团队的新成员能够更快投入生产。
    • 微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。
    • 微服务允许你利用融合最新技术。
    • 微服务只是业务逻辑的代码,不会和HTML,CSS 或其他界面组件混合。
    • 微服务能够即时被要求扩展。
    • 微服务能部署中低端配置的服务器上。
    • 易于和第三方集成。
    • 每个微服务都有自己的存储能力,可以有自己的数据库。也可以有统一数据库。

    微服务架构的缺点

    • 微服务架构可能带来过多的操作。
    • 需要DevOps技巧 (http://en.wikipedia.org/wiki/DevOps).
    • 可能双倍的努力。
    • 分布式系统可能复杂难以管理。
    • 因为分布部署跟踪问题难。
    • 当服务数量增加,管理复杂性增加。

    API的重要性:

       实现一个API网关作为所有客户端的唯一入口。API网关有两种方式来处理请求。有些请求被简单地代理/路由到合适的服务上,其他的请求被转给到一组服务。同时api可以实现安全性验证,看用户是否被授权进入。

  • 相关阅读:
    linux下源码安装python3
    FTP 命令
    Linux Shell数值比较和字符串比较及相关
    mount umount sort du tar
    linux 自动检查ssh脚本
    删除linux访问记录(message删不了)
    h3c 备份脚本
    linux 批量scp 脚本
    Linux 删除几天前的文件脚本
    博达交换机镜像检查,镜像丢失自动添加脚本
  • 原文地址:https://www.cnblogs.com/zhouwenfan-home/p/10588542.html
Copyright © 2011-2022 走看看