2018-12-25 14:35

  这是 Jboot v2.0 第一个版本,v2.0 和 v1.x 有这非常大的差别,因此 Jboot v1.x 用户无法平滑升级到 v2.0 ,需要修改部分代码。

  Jboot v2.0 这是一个全新的版本,Jboot 2.0 是假设用户基于 Jboot 开发的应用部署在 Docker 之上,因此,在微服务领域,凡是 Docker 能完成的工作,Jboot 要做的只是去配合,而不再有和 Docker Stack 重复的功能。

  以下是 Jboot 2.0 主要更新的功能,细节和优化还有非常多,不一一列出。

  移除Server模块,引入JFinal-Undertow,完美支持各种热加载。

  移除Hystrix,Dubbo内置降级功能、同时 DockerStack 可以很好完成。

  移除Google Guice,使用 JFinal AOP 功能代替。

  移除统一配置中心,Jboot 的配置来源可以是配置文件、环境变量、启动参数、Jvm等多个地方,因此通过 DockerStack 可以完成统一配置

  移除opentracing,链路追踪由 DockerStack 来完成

  移除网络限流模块,由 DockerStack 来完成

  Jboot.me().getXXX 直接修改为:Jboot.getXxx()

  升级Sharding-jdbc到3.x ,通过 Sharding-shpere 加 JFinal ActiveRecordPlugin 完美实现数据库读写分离、分库分表和分布式事务。

  RPC注入和暴露修改为 RPCInject 和 RPCBean,删除RPCService

  Model 进行 save() 的时候返回 Id,而不是 bool 类型,方便微服务调用的时候,直接返回ID,而不需要再次查询。

  所有配置优先读取启动参数和环境变量,方便在docker、k8s 环境下做自动化部署

  添加 @ConfigInject 用于对Controller、Service等属性的配置数据注入

  完善 ClassScanner 机制,支持外部自定义扫描和排除

  优化 Join 机制,支持 RPC 调用 Join、支持 Join 返回数据、支持 Join 自定 Model 属性,生成代码默认不再带有 Join 的代码生成 ,使 Service 更加轻便。

  MQ 新增 startListener() 方法,而非是项目启动后自动监听。方便 MQ 的 Listener 做其他初始化工作。同时 MQ 支持自定义序列化等功能。

  另外,以上文章中提到的 DockerStack 是我个人独创的一个词,我认为凡是和 Docker 关联的相关技术栈都是 DockerStack,例如: k8s、istio 等。它和docker stack 命令不是同一个意思。

  Jboot v2.0 主要功能已经全完测试通过,加上 Jboot 1.x 发布了近 100 个版本,主要功能是没有太大问题,预计 Jboot v2.0 正式版会在年后第一时间推出,从现在的版本到正式版本的推出、主要工作是完善文档、修复细节bug和编写测试用例。

  最后,我想说的是:个人作为有多年工作经验的老司机,真心真心觉得 Jboot 要比 SpringCloud 好用很多倍。更简单、更实用、代码更清晰。

      出处:理工男海哥

评论