T31项目架构选型方案

服务选型

曾经的技术选型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GjyeLuSg-1636378253985)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106155802533.png)]

微服务

微服务架构的产生——巨石应用

第一代单体应用,所有的War包放到一个Tomcat下运行。这种架构也叫巨石型应用架构,在开发小型项目上有独特优势:易于调试、部署,运维方便。

缺点:

  1. 不可靠。任何模块的一个bug,可能拖垮整个应用
  2. 单维扩展。只能通过运行更多的服务器水平扩展,而不同的应用服务对资源的需求不同
  3. 不可持续发展。引入新的框架或语言需要重构所有业务模块,往往需要在初期就选定技术栈

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aDlGG5uZ-1636378253987)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106163147552.png)]

微服务架构的产生-SOA

SOA(Service Oriented Architectrue),面向服务架构,它是一种设计方法,设计上通常是自上而下的,服务间松散耦合。ESB集合不同协议的服务,做消息的转换、解释、路由从而联通各个服务,解决企业通信问题,服务松耦合、可扩展

缺点:

  1. ESB的存在并没有根本解决单体巨石应用的一些问题
  2. SOA更多的面向企业服务,服务拆分粒度很大,更多的是为了复用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPYrUeTm-1636378253988)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106162822703.png)]

微服务架构的产生-微服务

去中心化的SOA拓展,强调服务彻底的组件化,一个组件就是一个产品,服务切分力度更小,设计上更多的是自下而上的。服务间通过轻量化的协议进行通信,并根据服务本身需要独立部署

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qC0R2mgK-1636378253990)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106163535101.png)]

SOA和微服务的思维区别

SOA:

因为单体巨石应用无法灵活扩展,且部署困难。自上而下,从运维侧视角出发,更多聚焦可维护性,兼顾可扩展性,从前后端分离切入。

微服务:

因为SOA服务粒度太粗,难以有效扩展,微服务应运而生。自下而上,从产品视角出发,更多聚焦可扩展性,兼顾可维护性。

微服务分层架构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iapYDNqq-1636378253992)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106163648329.png)]

Spring Boot build anything

  1. 方便的创建可独立运行的 spring 应用程序
  2. 直接内嵌 Tomcat Jetty 或 Undertow
  3. 简化了项目的构建配置
  4. 位 spring 及第三方库提高自动配置
  5. 提供生产级特性
  6. 无需生成代码或者进行XML配置

Netflix——掀起大规模微服务之风

由于

Netflix 为啥热衷于开源?

  1. 将自己的解决方案建立为行业标准和最佳实践
  2. 建立Netflix技术品牌
  3. 雇佣、留住和吸引顶级工程师
  4. 从共享生态中获得反馈输入并受益

Spring Cloud 家族

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wHramIaD-1636378253992)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106164221366.png)]

数据访问层选型

  • JDBC的“烦恼”
  • Mybatis执行流程解析

JDBC

原始的基于JDBC连接的数据库的操作

所有的数据访问框架都是在解决如下的两个问题

  1. 数据库连接如何管理
  2. 数据库查询数据和Java对象如何高效映射

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Ct9HC9W-1636378253994)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106164357552.png)]

Mybatis与Mybatis-plus

MyBatis——我的SQL我做主

Mybatis-plus——你的SQL你做主,我为你服务

Mybatis框架执行流程解析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gqk4ySWy-1636378253995)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106164605353.png)]

数据库连接池选型

定义:JDBC连接池,解决需要自己手动建立连接(TCP连接)、关闭连接、连接复用的问题。数据库连接池有一个标准的接口 javax.sql.DataSource,常用的JDBC连接池如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WMbJnRpV-1636378253996)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106164747048.png)]

T31项目数据访问层实践

MQ如何选型

简介

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UyDzNrrQ-1636378253997)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106164947672.png)]

选型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rdv7IwYe-1636378253998)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106165044001.png)]

阿里的RocketMQ

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ieC6uMhP-1636378253999)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106165306799.png)]

远程通信框架选型

RPC运行期状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W4H3tQmn-1636378253999)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106165155272.png)]

RPC框架核心技术点

与注册中心集成与配置中心集成与链路追踪继承
服务发布和引用通信协议请求监控
服务调用方式IO线程模型容错降级
路由寻址超时机制租户泳道机制
序列化/反序列化重试机制
  • 远程通信框架要解决的问题

Fegin框架调用流程分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w6qote84-1636378254000)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106165718323.png)]

常用开源远程通信框架综合对比

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CmfyKymE-1636378254001)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106165802055.png)]

网关层技术选型

  • API网关的由来
  • 网关的分类
  • 网关的定义及功能
  • API网关的技术选型
  • API网关核心关注点

API网关的由来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9x1FFKeW-1636378254002)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106170006586.png)]

网关的分类:流量网关和业务网关

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1nbnEiqH-1636378254003)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106170116787.png)]

API网关部署形式:单节点网关与多节点网关

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-67TfVnpU-1636378254004)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106170153667.png)]

开源网关图谱

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wrEeLZQM-1636378254004)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106170221749.png)]

业务网关技术选型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tU4l9lBI-1636378254005)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106170254431.png)]

Spring Cloud 体系自身的 GateWay 原理解析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v311A8H5-1636378254006)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106170338231.png)]

Spring Cloud GateWay流程分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JSW066LO-1636378254007)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106170428108.png)]

T31项目技术栈

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-anJJKksU-1636378254007)(C:\Users\Zyf\Desktop\T31作业\Day11 项目架构选型方案\项目架构选型方案.assets\image-20211106170634289.png)]

lBI-1636378254005)]

Spring Cloud 体系自身的 GateWay 原理解析

[外链图片转存中…(img-v311A8H5-1636378254006)]

Spring Cloud GateWay流程分析

[外链图片转存中…(img-JSW066LO-1636378254007)]

T31项目技术栈

[外链图片转存中…(img-anJJKksU-1636378254007)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值