微服务概述

微服务HOT?Why?

  1. 微服务什么?
  2. 微服务解决了什么问题?
  3. 微服务有什么特点?

单体架构是什么?

    一个归档包含了应用所有功能的应用程序。我们通常称之为单体应用。

      架构单体应用的架构风格,我们称之为单体架构。这是一种比较传统的架构风格

单体架构存在的缺陷

  1.       复杂性逐渐变高
  2.       技术债务逐渐上升
  3.       部署速度变慢
  4.       阻碍技术创新
  5.       无法按需伸缩

 

架构的演进

          单体架构

        SOA架构

        微服务架构

什么是微服务

  1. Martin Fowler:简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制来相互通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据存储技术。对这些微服务我们仅做最低限度的集中管理。
  2. 来自:http://www.martinfowler.com/articles/microservices.html

微服务具备的特性

           每个微服务可以独立运行在自己的进程里;

         一系列独立运行的微服务共同构建了整个系统;

         每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理,用户管理;

         微服务之间通过一些轻量级的通行机制进行通信。列如通过httpClient,或者RPC进行模块之间的调用。

微服务优点

        易于开发维护

        启动比较快

        局部内容修改容易部署

        技术栈不受限

        按需伸缩 
        DevOps

微服务带来的挑战 

          运维要求比较高

         分布式比较复杂

         接口调整成本高

         重复劳动

微服务设计原则

         单一职责

        服务自治原则

        轻量级通信原则

        接口明确原则

原文地址:https://www.cnblogs.com/jacksonxiao/p/8183993.html