T31训练营笔记(5)技术架构选型

本文探讨了技术选型的重要性,重点介绍了微服务架构的发展历程,包括SpringCloud家族的选择,数据访问层(如MyBatisPlus和连接池)的决策,以及消息中间件、远程通信框架(如Dubbo和Feign)和API网关(如Zuul)的选型策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 关于技术选型
1.1 为什么要进行技术选型
降低开发成本、提高研发效率
1.2 微服务架构的产生
(1)第一代单体应用,所有模块打包到一起部署运行。
特点:不可靠、单维扩展、不可持续发展。
(2)SOA,面向服务架构,它是一种设计方法,自上而下,服务间松散耦合。
特点:ESB没有解决局势应用的一些问题、服务拆分力度很大。
(3)微服务,去中心化的SOA拓展,强调服务彻底的组件化,一个组件就是一个产品,服务切分力度更小,设计上更多的是自下而上的。
特点:业务隔离、并行开发、易于运维、单独部署。
1.3 Spring Cloud 家族
Spring Cloud Config、Spring Cloud Netflix、Spring Clound Bud、Spring Cloud Steam、Spring Cloud Gateway

2. 数据访问层选型
2.1 数据访问层框架解决的问题
数据库连接如何管理、数据库查询数据和Java对象如何高效映射
2.2 框架选择
JDBC:性能高、操作麻烦
MyBatis:我的SQL我做主
MyBatis Plus:你的SQL你做主,我为你服务
2.3 连接池选型
(1)定义:JDBC连接池,解决需要自己手动建立连接、关闭连接、连接复用的问题
(2)常用的连接池:Druid、HikariCP、DBCP、Tomcat-jdbc、C3P0

3. 常用中间件选型
3.1 消息中间件
消息队列:在消息的传输过程中保存消息的容器,生产者和消费者不直接通讯,依靠队列保证消息的可靠性,避免了系统间的相互影响。
3.2 消息模式
P2P模式、订阅模式
3.3 如何选型
功能不具备一票否决权;重性能、重扩展;技术栈、团队驾驭能力

4. 远程通信框架选型
4.1 RPC运行期状态与流程
调用发起、寻址路由、协议适配/序列化、网络传输、反序列化/协议解析、处理逻辑返回调用方
4.2 RPC框架核心技术点
与注册中心集成、与配置中心集成、与链路跟踪集成
4.3 常用开源RPC框架
Feign、Dubbo、gRPC、Thrift

5. 网关层选型
5.1 API网关的由来
微服务提供的API粒度与客户端所需的粒度不同
不同客户端需要不同的数据
微服务实例数量及其位置动态变化
服务划分会随着时间的推移变化
服务可能会使用多种协议,有些是非Web友好协议
5.2 网关的分类
流量网关、业务网关
5.3 部署形式
单点网关、多点网关

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值