Java后端技术框架

目录

目录

一、简介

二、持久层框架

三、分布式框架

四、分布式事务

五、MQ

六、分布式定时任务

七、分布式事务

八、分布式锁

九、MQ

十、杂项

1)Redis客户端

2)接口文档工具

3)JSON工具

4)HTTP客户端

5)持续集成

6)其他


一、简介

        本文介绍Java后端开发的技术选型。持续更新。

        本文中的每一项都按照从上到下为从好到差的顺序排列技术栈

二、持久层框架

说明

        这几个框架我都用过。按开发速度来看,一个模块,如果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共同使用。
                缺点:开发速度慢

三、分布式框架

说明

        现在新项目一般都用Spring Cloud Alibaba了。OpenFeign+nacos+sentinel,很舒服!

评分

Spring Cloud Alibaba(95)
        优点:feign调用基于http,灵活;nacos和sentinel很好用
Spring Cloud原生(80)
        优点:feign调用基于http,灵活
        缺点:eureka已闭源,配置中心使用不方便
Dubbo(50)
        优点:基于长连接,比SpringCloud速度稍快一点儿
        缺点:不够灵活,且相关的组件很少

四、分布式事务

  1. Seata(95分)
    1. 阿里开发,很流行

五、MQ

  1. RocketMQ(95)
  2. RabbitMQ(85)
  3. Kafka(70)

六、分布式定时任务

  1. XXL-JOB(90分)
    1. 很流行;很好用
  2. PowerJob(80分)
    1. 流行度低;使用体验略差
  3. Quartz(50分)
    1. 难用;
  4. Spring自带(30分)
    1. 无可视化页面

七、分布式事务

  1. Seata(95分)
    1. 阿里开发,很流行

八、分布式锁

  1. Redisson(95分
    1. 续期、可重入等接近完美
  2. Zookeeper(70分)
    1. 用的比较少
  3. MySQL(30分)
    1. 效率很低

九、MQ

  1. RocketMQ(95)
  2. RabbitMQ(85)
  3. Kafka(70)

十、杂项

1)Redis客户端

  1. Ridisson(98)
  2. RedisTemplate(80)
  3. Jedis(60)

2)接口文档工具

        knife4j(90)
        swagger(75)
        apidoc(60)

3)JSON工具

        Jackson(99)
        Spring自带,效率和稳定性都很好
        FastJson(60)
                bug多,经常爆出问题
        gson(50)
                不流行

4)HTTP客户端

        RestTemplate(95)
        Spring自带,稳定性好
        HttpRequest(80)
        hutool的,灵活性好

5)持续集成

        jenkins

6)其他

        属性映射:mapStruct

        token管理:jwt