微服务介绍

  • 一. 什么是微服务
  • 二. 架构的演变
  • 1. All in One Application 单一架构
  • 2. Vertical Application 垂直架构
  • 3. Distributed Service 分布式服务架构
  • 4. Elastic Computing 流动计算架构即微服务架构
  • 三. 什么是SpringCloud
  • 四. 核心架构及其组件
  • 五. 核心组件架构图
  • 五. SpringCloud和SpringBoot版本选择


一. 什么是微服务

  1. 官方定义:微服务就是由一系列围绕自己业务开发的微小服务构成,他们独立部署运行在自己的进程里,基于分布式的管理。
  2. 通俗定义:微服务是一种架构,这种架构是将单个的整体应用程序分割成更小的项目关联的独立的服务。一个服务通常实现一组独立的特性或功能,包含自己的业务逻辑和适配器。各个微服务之间的关联通过暴露api来实现。这些独立的微服务不需要部署在同一个虚拟机,同一个系统和同一个应用服务器中。
  3. 微服务架构图

二. 架构的演变

1. All in One Application 单一架构

  • 起初当网站流量很小时,将所有功能都写在一个应用里面,对整个应用进行部署,以减少部署节点和成本。对于这个架构简化增删改查的工作量的数据访问框架(ORM)是关键。

2. Vertical Application 垂直架构

  • 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一是将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。

3. Distributed Service 分布式服务架构

  • 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

4. Elastic Computing 流动计算架构即微服务架构

  • 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键
三. 什么是SpringCloud

Spring Cloud 中文文档地址

  1. springcloud为开发人员提供了在分布式系统中快速构建一些通用模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线)。分布式系统的协调导致了锅炉板模式,使用springcloud开发人员可以快速地建立实现这些模式的服务和应用程序。

  2. springcloud是一个含概多个子项目的开发工具集,集合了众多的开源框架,他利用了Spring Boot开发的便利性实现了很多功能,如服务注册,服务注册发现,负载均衡等.SpringCloud在整合过程中主要是针对Netflix(耐非)开源组件的封装.SpringCloud的出现真正的简化了分布式架构的开发。

  3. NetFlix 是美国的一个在线视频网站,微服务业的翘楚,他是公认的大规模生产级微服务的杰出实践者,NetFlix的开源组件已经在他大规模分布式微服务环境中经过多年的生产实战验证,因此Spring Cloud中很多组件都是基于NetFlix组件的封装。

四. 核心架构及其组件

核心组件说明

- eurekaserver、consul、nacos    服务注册中心组件
    - rabbion & openfeign  			服务负载均衡 和 服务调用组件
    - hystrix & hystrix dashboard   服务断路器  和  服务监控组件
    - zuul、gateway 				服务网关组件
    - config 						统一配置中心组件
    - bus                           消息总线组件
五. 核心组件架构图

所有的组件构成一个微服务的项目

微服务架构 培训 微服务架构详解ppt_微服务

五. SpringCloud和SpringBoot版本选择
1.伦敦地铁站名称
- Angel、Brixton、Camden、Dalston、Edgware、Finchley、Greenwich、Hoxton、

本次springcloud学习选择Hoxton.SR6和springboot–2.2.5.release

微服务架构 培训 微服务架构详解ppt_微服务架构 培训_02