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

一、微服务及其他架构

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

1.1 什么是微服务

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

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

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

1.2与单体架构对比

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

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

单体结构缺点

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

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

原理架构图
前后端分离
逻辑架构图

业务图

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

2.1基础的微服务组件

简单的微服务架构图

微服务架构图

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

  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 开源组件的进一步封装,简化了分布式开发

javaweb发展

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值