Spring Cloud微服务学习笔记之微服务架构简述

mac2022-06-30  89

微服务架构简述

一、微服务及其他架构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与单体架构对比

点餐系统结构图 单体结构优点

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

单体结构缺点

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

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

原理架构图 逻辑架构图

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

2.1基础的微服务组件

简单的微服务架构图

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

服务注册与发现

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

服务网关(Service Gateway)

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

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

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

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

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

2.2 两大主流实现框架

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

2.3 Spring Cloud是什么

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

最新回复(0)