Day10- 技术架构选型

288 阅读1分钟

一、关于技术选型

(1)为什么要进行技术选型

  • 降低开发成本
  • 提高研发效率

(2)编程语言排行榜

image.png

(3)微服务架构的产生

image.png

image.png

image.png

image.png

(4)微服务分层架构图

image.png

(5)SpringBoot

image.png

image.png

image.png

image.png

二、数据访问层选型

(1)JDBC的“烦恼”

image.png

  • 性能要优于其他框架20%
  • 开发效率低下

(2)Mybatis执行流程解析

  • Mybatis-我的SQL我做主
  • Mybatis Plus-你的SQL你做主,我为你服务

image.png

(3)数据库连接池选型

image.png

(4)T31项目数据访问层实践

三、消息中间件选型

(1)MQ消息队列简介

image.png

(2)MQ如何选型

image.png

  • kafka从2020年起不一定依赖zk集群管理
  • 从功能的角度出发,功能不具备一票否决权;可以从扩展性,性能等出发;团队技术栈,驾驭能力。

(3)来自阿里的RocketMQ

image.png

四、远程通信框架选型

(1)RPC运行期状态

image.png

(2)RPC框架核心技术点

image.png

(3)Feign框架调用流程分析

image.png

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

image.png

  • 七层/四层协议?支持压缩?

五、网关层选型

(1)API网关的由来

image.png

(2)网关的分类

  • 流量网关和业务(Api)网关 image.png

  • 网关部署形式:单点网关和多点网关 image.png

image.png

(4)API网关的技术选型

image.png

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

image.png

(6)Spring Cloud GateWay流程分析

image.png

六、总结

  • 为什么要进行技术选型
  • 远程通信框架的核心技术点
  • 微服务架构中API网关的作用