《孤尽班T31-05-技术架构选型笔记》

T31项目

文章目录

  • 《孤尽班T31-05-技术架构选型笔记》
  • 1. 关于技术选型
    • 1.1 为什么要啊进行技术选型?
    • 1.2 微服务架构的产生
    • 1.3 SOA和微服务的思维区别
    • 1.4 微服务分层架构图
    • 1.5 Spring Cloud
  • 2 数据访问层选型
    • 2.1 JDBC
    • 2.2 Mybatis 与Mybatis-plus
    • 2.3 数据库连接池选型
  • 3 消息中间件选型
    • 3.1 MQ消息队列简介
    • 3.2 MQ选型
  • 4 远程通信框架选型
    • 4.1 RPC框架核心技术点
    • 4.2 Fegin框架调用流程分析
    • 4.3 常用开源远程通信框架综合对比
  • 5 网关层技术选型
    • 5.1 API网关的由来
    • 5.2 网关的分类
    • 5.3 API网关部署形式:
    • 5.4 业务网关技术选型
    • 5.5 Spring cloud GateWay流程分析

参考学习

1. 关于技术选型

1.1 为什么要啊进行技术选型?

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

1.2 微服务架构的产生

第一代单体应用,所有的模块打包到一起部署运行
例如打包一个War包放到一个Tomcat下运行,这种架构也叫巨石应用架构,在开发小型项目上有独特的优势
易于调试、部署、运维方便

缺点:

  1. 不可靠。任何模块的一个bug,可能拖垮整个应用
  2. 单维扩展。只能通过运行更多的服务器水平扩展,而不同的应用服务对资源的需求不同
  3. 不可持续发展。引入新的框架或语言需要重构所有业务模块,往往需要在初期就选定技术栈
    复制代码

SOA(Service Oriented Architecture),面向服务架构,他是一宗会给你设计方法,设计上通常是自上而下的,服务间松散耦合。ESB集成不同协议的服务,做消息的转化、解释、路由从而联通各个服务,解决企业通信问题,服务松耦合、可扩展

缺点:

  1. ESB的存在并没有根本解决单体巨石应用的一些问题
  2. SOA更多的面向企业服务,服务拆分粒度很大,更多的是为了复用

微服务,是去中心化的SOA扩展,强调服务彻底的组件化,一个组件就是一个产品,服务切分粒度更小,设计上更多的自下而上的。服务间通过轻量化的协议进行通信,并根据服务本身需要独立化部署

1.3 SOA和微服务的思维区别

1.4 微服务分层架构图


优点:

  • 业务隔离
  • 并行开发
  • 易于运维
  • 单独部署

1.5 Spring Cloud

2 数据访问层选型

2.1 JDBC

数据库连接如何管理?
数据库查询数据和Java对象如何高效映射?

2.2 Mybatis 与Mybatis-plus

  • Mybatis 我的sql我做主
  • Mybatis plus 你的sql你做主,我为你服务

2.3 数据库连接池选型

**定义:**JDBC连接池,解决需要自己手动建立连接(TCP连接)、关闭连接、连接复用的问题。JDBC连接池有一个标准的接口javax.sql.DataSource,常用的JDBC连接池如下:

3 消息中间件选型

3.1 MQ消息队列简介

消息队列,在消息的传输过程中保存消息的容器,生产者和消费者不直接通讯,依靠队列保证消息的可靠性,避免了系统间的相互影响

3.2 MQ选型

  • 功能不具备一票否决权
  • 重性能、重扩展
  • 技术栈、团队驾驭能力

4 远程通信框架选型

4.1 RPC框架核心技术点

4.2 Fegin框架调用流程分析

4.3 常用开源远程通信框架综合对比

5 网关层技术选型

5.1 API网关的由来

微服务提供的API的粒度通常与客户端所需的粒度不同
不同的客户端需要不同的数据
微服务实例数量及其位置(主机|端口)动态变化
服务划分会随着时间的推移而变化
服务可能会使用多种协议,有些事非web友好协议

5.2 网关的分类

流量网关与业务网关

  1. 流量网关:关注稳定安全
    全局性流控
    防止web攻击
    屏蔽工具扫描
    白黑IP名单
    证书、加解密处理

  2. 业务网关:提供更好的服务
    服务级别流控
    服务降级与熔断
    路由与负载均衡、灰度策略
    服务过滤、聚合与发现
    多级缓存策略
    复制代码

5.3 API网关部署形式:

单节点网关与多点网关

5.4 业务网关技术选型

5.5 Spring cloud GateWay流程分析

5.6 T31项目技术栈

《孤尽班T31-05-技术架构选型笔记》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. 在PHP中使用全局变量的几种方法
  2. RunnableException与CheckedException
  3. JavaScript中十种一步拷贝数组的方法
  4. 同步和异步的区别和联系以及一般在什么情况下使用它们
  5. 一般屏幕的3D模型是公开的吗?
  6. linux-基本权限UGO-读写执行权限
  7. day16-17-18.对象序列化和反序列化、API获取数据、python操作Excel/CSV文件、类、面向对象编程(初级及进阶)、继承
  8. 带你玩东方外传系列一 ~ 十游戏链接
  9. 在 vue 中使用 SVG 建立图标系统并且使用
  10. 论文 | 图理论 | 2021年斯坦福大学Jiaxuan You博士论文《用图赋能深度学习》译读 摘要和感谢
  11. 计算机应用基础本科试题及答案,计算机应用基础课程(本科)网考模拟试题
  12. 使用Dubbo实现简单的RPC调用(Spring配置文件版)
  13. 中国污水源热泵运行现状分析与投资策略报告2022-2027年
  14. SL651协议报文解析(一)
  15. Oracle数据库培训视频教程 oracle工程师培训视频教程
  16. 运营笔记:SEO快排那些事儿!
  17. 拉开你和同龄人差距的100个顶级认知
  18. 计算机软件著作权登记办法(2002)
  19. Json2:使用gson解析为List和Map
  20. 复习计算机二级 Excel常用函数公式

热门文章

  1. JavaScript基础案例+代码
  2. 把.frm .ibd文件导入Mysql数据库
  3. java转俯视图,如何使用纯CSS实现一个足球场的俯视图(附源码)
  4. 南京邮电大学c语言程序报告,程序设计报告南京邮电大学学生管理系统 c语言.doc...
  5. 渗透测试——提权方式总结
  6. WebSocket(含表情包)-聊天室
  7. 可视化神器Plotly玩转柱状图
  8. Day01.初识Python
  9. 360player免费全景图播放器更新-附开发教程-20200101
  10. Java实现电梯调度算法