关于技术选型
为什么要进行技术选型
1、降低开发成本
2、提高研发效率
编程语言排行榜
• Java排名持续处于领先地位
• 从业者人数:超400万
• 阿里、亚马孙、eBay、京东等头部公司的主流语言
• 行业涉及电商、云计算、大数据、算法等前沿领域
• JDK17 九月份刚刚发布
微服务架构的产生
从巨石应用到SOA再到微服务架构
巨石应用:
所有的模块打包到一起部署运行; 例如打包一个War包放到一个Tomcat下运行,这种架构 也叫巨石型应用架构,在开发小型项目上有独特优势: 易于调试、部署,运维方便
缺点
不可靠、只能水平扩展、不可持续发展
SOA架构:
面向服务架构, 它是 一种设计方法,设计上通常是自上而下的,服务间松散耦合。ESB 集成不同协议的服务,做消息的转化、解释、路由从而联通各个服 务,解决企业通信问题,服务松耦合、可扩展
缺点
1、ESB并没有根本解决单体应用的一些问题
2、SOA更多的面向企业服务,服务拆分粒度较大,更多的为了复用
微服务架构
去中心化的SOA扩展,强调服务彻底的组件化,一个组件即一个产品,服务拆分粒度更小,自下而上的设计。
服务之间通过轻量级的协议进行通信,并根据服务本身需要独立化部署
数据访问层选型
JDBC的烦恼
1、数据库连接如何管理
2、数据库查询数据和Java对象如何高效映射
Mybatis执行流程解析
数据库连接池选型
定义:JDBC连接池,解决需要自己手动建立连接(TCP连接)、关闭连接、连接复用的问题。JDBC连 接池有一个标准的接口javax.sql.DataSource,常用的JDBC连接池如下: