微服务架构简述

  • 一、微服务及其他架构
  • 1.1 什么是微服务
  • 1.2与单体架构对比
  • 1.3基于Ajax的前后端分离框架vue
  • 二、从一个极简的微服务架构开始
  • 2.1基础的微服务组件
  • 2.2 两大主流实现框架
  • 2.3 Spring Cloud是什么


一、微服务及其他架构

Spring Cloud微服务学习笔记以一个微信点餐springboot系统为背景讲述微服务spring cloud框架的应用和原理实现,系统包括买家端和卖家端两部分,将以卖家端为主;涉及到的架构形态有单体架构、基于Ajax的前后端分离框架vue、分布式(水平拓展&服务拆分)。

1.1 什么是微服务

“微服务” 一词源于Martin Fowler的名为Microservices的博文,文中详述了微服务概念,原文中的粗体部分如下

  • 一系列微小的服务共同组成
  • 运行在独立的进程
  • 每个服务为独立的业务开发
  • 独立部署
  • 分布式的管理
  • 是一种架构风格,无严格标准

为什么提出微服务架构?架构的演变:单一应用架构==》垂直应用架构==》分布式服务架构==》流式计算架构

1.2与单体架构对比

点餐系统结构图

微服务架构怎么简单理解 微服务架构 知乎_spring cloud


单体结构优点

  • 容易测试
  • 容易部署
  • 响应时间短,适于并发量中小的系统

单体结构缺点

  • 开发效率低
  • 扩展性低,代码维护难
  • 部署不灵活
  • 稳定性不高,无法应对高并发的场景

1.3基于Ajax的前后端分离框架vue

原理架构图

微服务架构怎么简单理解 微服务架构 知乎_spring cloud_02


逻辑架构图

微服务架构怎么简单理解 微服务架构 知乎_微服务_03

二、从一个极简的微服务架构开始

2.1基础的微服务组件

简单的微服务架构图

微服务架构怎么简单理解 微服务架构 知乎_前后端分离_04

注意与前后端分离的逻辑架构图作对比

  1. 服务注册与发现

服务提供方在其中注册其自身地址,服务消费方在其中发现要调用的服务地址

  1. 服务网关(Service Gateway)

前端路由请求的唯一入口,屏蔽后端服务的细节,将外部的路由反向路由到后端服务中去,还会有限流、容错、监控和日志的功能,包括用户认证、授权、反爬虫等

  1. 后端通用服务(又称中间层服务Middle Tier Service)

将API地址注册在注册中心上,供前端服务使用

  1. 前端服务(又称边缘服务Edge Service)

对注册在注册中心的后端服务进行聚合和裁剪。聚合:例如将多个API组合为一个API,减少用户调用次数。裁剪:例如手机端和PC端对同一个请求的返回信息详细程度不同

2.2 两大主流实现框架

  1. 阿里系Dubbo(当当Dubbox)
  • Dubbo做服务化治理
  • Zookeeper做服务注册中心
  • SpringMVC or SpringBoot
  1. Spring Cloud全系列
  • Spring cloud Netflix Eureka
  • SpringBoot

2.3 Spring Cloud是什么

spring cloud 是一个开发工具集,利用了springboot的开发便利;主要基于对Netflix 开源组件的进一步封装,简化了分布式开发