2021-11-05技术选型
文章目录
- 一、技术选型的意义
- 二、编程语言排行榜
- 三、微服务架构
- 四、微服务分成架构
- 五、搭建Spring App
- 六、数据访问层选型
- JDBC
- Mybatis与Mybatis-plus
- 数据库连接池
- 七、消息中间件
- 八、远程通信框架
- 九、网关层技术
- API网关的由来
- 网关的分类
一、技术选型的意义
降低开发成本
提高研发效率
二、编程语言排行榜
三、微服务架构
四、微服务分成架构
五、搭建Spring App
环境搭建复杂
配置繁琐
开发效率低
Netflix
六、数据访问层选型
JDBC
Mybatis与Mybatis-plus
数据库连接池
七、消息中间件
八、远程通信框架
RPC运行期状态
调用发起-》寻址路由-》协议适配/序列化-》网路传输-》反序列化/协议解析-》处理逻辑返回调用方
RPC框架核心技术点
- 与注册中心集成
服务发布和引用、服务调用方式、路由寻址、序列号/反序列化 - 与配置中心集成
通信协议、OI线程模型、超时机制、重试机制 - 与链路跟踪集成
请求监控、冗长降级、租户泳道机制
Feign框架调用流程
常用远程通信开源框架
九、网关层技术
API网关的由来
微服务提供的API的粒度通常与客户端所需的粒度不同
不同的客户端需要不同的数据
微服务实例数量极其位置(主机+端口)动态变化
服务划分会随着时间的推移而变化
服务可能会使用多种协议,有些是非web友好协议
网关的分类
流量网关 关注稳定安全
全局性流控、防止Web攻击、屏蔽工具扫描、黑白IP名单、证书/加解密处理
业务网关 提供更好的服务
服务级别流控、服务降级和熔断、路由与负载均衡、灰度策略、服务过滤、聚合与发现、多级缓存策略
单节点网关
多点网关
常用开源网关 Spring Cloud Gateway、Zuul、Zuul2
Spring Cloud Gateway原理解析
Spring Cloud Gateway流程分析
Gateway Client-》Spring Cloud Gateway-》Gateway Handler Mapping-》Gateway Web Handler-》Filter…-》Proxy Filter-》Proxy Service