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

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 部署形式
单点网关、多点网关

 

你可能感兴趣的:(T31训练营,架构,中间件)