T31-DAY10(技术架构选型)

为什么要进行技术选型?

1.降低开发成本
2.提升开发效率

微服务架构的产生

1.第一代单体应用
T31-DAY10(技术架构选型)_第1张图片

优点:
所有的模块打包到一起部署运行;例如打包一个War包放到一个Tomcat下运行,这种架构也叫巨石型应用架构,在开发小型项目上有独特优势:易于调试、部署,运维方便。
缺点:
1、不可靠。任何模块的一个bug,可能拖垮整个应用
2、单维扩展。只能通过运行更多的服务器水平扩展,
而不同的应用服务对资源的需求不同
3、不可持续发展。引入新的框架或语言需要重构所有
业务模块,往往需要在初期就选定技术栈
2.SOA(Service Oriented Architecture)
T31-DAY10(技术架构选型)_第2张图片

优点:面向服务架构, 它是一种设计方法,设计上通常是自上而下的,服务间松散耦合。ESB集成不同协议的服务,做消息的转化、解释、路由从而联通各个服务,解决企业通信问题,服务松耦合、可扩展
3.微服务
T31-DAY10(技术架构选型)_第3张图片

微服务是去中心花的SOA扩展,他强调服务彻底的组件化,一个组件就是一个产品,服务切分力度更小,设计上更多的是自上而下的。服务间通过轻量化的协议进行通信, 并根据服务本身需要独立化部署。
4.SOA和微服务的思维区别
SOA:
因为单体巨石应用无法灵活扩展,且部署困难。自上而下,从运维侧视角出发,更多聚焦可维护性,兼顾可扩展性,从前后端分离切入。
微服务:
因SOA服务粒度太粗,难以有效扩展,微服务应运而生。自下而上,从产品视角出发,更多聚焦可扩展性,兼顾可维护性。
5.微服务分层架构图
T31-DAY10(技术架构选型)_第4张图片

Spring Cloud 家族

T31-DAY10(技术架构选型)_第5张图片

数据访问层选型

1.Mybatis框架执行流程解析
T31-DAY10(技术架构选型)_第6张图片
2.数据库连接池选型
定义:JDBC连接池,解决需要自己手动建立连接(TCP连接)、关闭连接、连接复用的问题。JDBC连
接池有一个标准的接口javax.sql.DataSource,常用的JDBC连接池如下:
T31-DAY10(技术架构选型)_第7张图片
3.消息中间件选型
1.MQ消息队列简介
T31-DAY10(技术架构选型)_第8张图片
2.MQ如何选型
T31-DAY10(技术架构选型)_第9张图片

远程通信框架选型

1.RPC运行期状态与流程
T31-DAY10(技术架构选型)_第10张图片

2.RPC框架核心技术点
T31-DAY10(技术架构选型)_第11张图片
3.Feign框架调用流程分析
T31-DAY10(技术架构选型)_第12张图片
4.常用开源远程通信框架综合对比
T31-DAY10(技术架构选型)_第13张图片

网关层技术选型

1.API网关的由来
T31-DAY10(技术架构选型)_第14张图片
2.网关的分类:流量网关与业务网关
T31-DAY10(技术架构选型)_第15张图片
3.API网关部署形式:单节点网关与多点网关
T31-DAY10(技术架构选型)_第16张图片
4.开源网关图谱
T31-DAY10(技术架构选型)_第17张图片
5.业务网关技术选型
T31-DAY10(技术架构选型)_第18张图片
6.Spring Cloud 体系自身的GateWay原理解析
T31-DAY10(技术架构选型)_第19张图片
7.Spring Cloud GateWay流程分析
T31-DAY10(技术架构选型)_第20张图片

你可能感兴趣的:(架构设计,java,架构,java)