【Java】Java后端技术框架
本文介绍Java后端开发的技术选型。持续更新。本文中的每一项都按照从上到下为从好到差的顺序排列技术栈。
·
一、简介
本文介绍Java后端开发的技术选型。持续更新。
本文中的每一项都按照从上到下为从好到差的顺序排列技术栈
二、分布式框架
-
说明
现在新项目一般都用Spring Cloud Alibaba了。feign+nacos+sentinel,很舒服! -
评分
- Spring Cloud Alibaba(95)
优点:feign调用基于http,灵活;nacos和sentinel很好用 - Spring Cloud原生(80)
优点:feign调用基于http,灵活
缺点:eureka已闭源,配置中心使用不方便 - Dubbo(50)
优点:基于长连接,比SpringCloud速度稍快一点儿
缺点:不够灵活,且相关的组件很少
- Spring Cloud Alibaba(95)
详细可参考我之前写的文章:Spring Cloud Alibaba 教程
三、分布式事务
- Seata(95分)
阿里开发,很流行
详细可参考我之前写的文章:Spring Cloud Alibaba 实战 Seata
四、分布式锁
- Redisson(95分)
续期、可重入等接近完美 - Zookeeper(70分)
用的比较少 - MySQL(30分)
效率很低
详细可参考我之前写的文章:Redisson分布式锁的使用(推荐使用)
五、分布式定时任务
- XXL-JOB(90分)
很流行;很好用 - PowerJob(80分)
- 流行度低;使用体验略差
- Quartz(50分)
难用; - Spring自带(30分)
无可视化页面
详细可参考我之前写的技术选型文章:Java 定时任务
六、MQ
- RocketMQ(95)
- RabbitMQ(85)
- Kafka(70)
详细可参考我之前写的文章
七、持久层框架
-
说明
这几个框架我都用过。按开发速度来看,一个模块,如果MyBatis-Plus开发需要1天,则JPA需要2.5天,MyBatis需要4天。
新项目基本都是用MyBatis-Plus了。 -
评分
- MyBatis-Plus(95)
好处:开发速度快、兼容MyBatis
缺点:个别场景的多表联查不如JPA。 - JPA(60)
好处:个别场景的多表联查比较好用。
缺点:正常场景下,开发速度不如MyBatis-Plus。 - MyBatis(40)
优点:可以被MyBatis-Plus依赖,与MyBatis-Plus共同使用。
缺点:开发速度慢
- MyBatis-Plus(95)
八、杂项
-
Redis客户端
- Ridisson(98)
- RedisTemplate(80)
- Jedis(60)
-
接口文档工具
- knife4j(90)
- swagger(75)
- apidoc(60)
-
JSON工具
- Jackson(99)
- Spring自带,效率和稳定性都很好
- FastJson(60)
bug多,经常爆出问题 - gson(50)
不流行
-
HTTP客户端
- RestTemplate(95)
- Spring自带,稳定性好
- HttpRequest(80)
- hutool的,灵活性好
-
持续集成
- jenkins
详细可参考我之前写的文章:Jenkins详细教程
- 其他
- 属性映射:mapStruct
- token管理:jwt
更多推荐
所有评论(0)