Jboot v3.1.8门户网关动态配置和负载均衡

Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对 java 代码、html、css、js 等资源文件进行热加载。爽爽开发,快乐生活。

Jboot 3.1.x 主要更新如下:

一:RPC 完全重构

Jboot 3.1.x 对 RPC 进行了完全重构,在配置方便需要变更才能正常使用,API 没有变,所有可以平滑升级到 Jboot 3.1.x ,虽然 API 没有改变,但是实现发送了彻底的改变。

对于 Dubbo,在 2.7.x 下新增了很多功能,比如元数据中心、配置中心等功能,Jboot 进行重构后,支持对 Dubbo 的所有内容进行配置,同时支持单个 Application 下有多注册中心、多服务协议等支持。配置上更加灵活。

二:新增门户网关

Jboot v3.1.0 还新增了门户网关,网关支持了 host、path、query等不同的条件配置,性能极高,同时支持基于 Sentinel 下的分布式限流、自定义网关拦截器等等功能。

三:分布式缓存运维支持

在很多二次缓存的分布式缓存中,比如 J2Cache、EHRedis 等,由于其一级缓存可能是内存缓存,其更新是需要依赖 MQ 或者 redis 的 Pub/Sub 来进行通知的,但是在某些极端情况下,依然会出现 MQ 通知不到导致某些节点 一级缓存无法更新的问题,Jboot 提供了可以获取所有 cacheName,并可以对其进行刷新(refresh)的功能,在某些特别极端的情况下,可以通过运维手动刷新缓存,让所有分布式缓存节点进行缓存同步。

Jboot v3.1.8 更新内容如下:

新增:Gateway 新增动态注册路 和 移除由配置的功能

新增:Gateway 被 Sentinel 拦截后自定义返回 Json 的功能

新增:Gateway 新增对多个 host 的支持,默认走随机匹配的负载均衡机制

新增:新增 Dubbo 下的对 consumer/provider/register/protocol 的默认配置的支持

新增:JWT 可以通过 request para 传入数据的支持

优化:修改 JbootServiceBase 的 DAO 属性类型为 JbootModel

优化:优化 JbootrpcBase 和 Prop 的一些输出日志

优化:重命名 PRCUtils 为 PRCUtil,保持 Jboot 工具类统一

优化:重命名 JbootRpcApplication 为 JbootSimpleApplication

优化:重构 DubboUtil 代码,使之更加简洁

优化:使用JsonKit来替换 FastJson 的直接使用,解决开发场景中使用其它json库的情况下,不会出错,感谢 @ yangyao

优化:升级 Guava 等相关的 Maven 依赖到最新版本

修复:修复 ClassScanner 扫描不到 Shiro 指令的问题

修复:JbootGatewayManager 默认名字配置错误的问题

修复:PRCUtil 无法添加某些注解注解属性导致@RPCInject某些参数无效的问题

修复:启用分布式配置 Nacos 时,在 Nacos 配置的中文会出现乱码的问题

修复:使用 Motan RPC 框架时,出现引用错误的问题

修复:Dubbo 下的一些 consumer 配置失效的问题

修复:修复 fatjar 打包的时候,需要单独配置 BaseTemplatePath,否则出错的问题

修复:复写 ActionHandler.getAction 可能无效的问题

文档:优化 gateway 的相关文档

文档:优化 config配置 的相关文档

文档:优化 rpc 的相关文档

maven 依赖:

 

io.jboot

jboot

3.1.8

 

Hello World:

@RequestMapping("/")

public class HelloworldController extends JbootController {

public void index(){

renderText("hello world");

}

public static void main(String[] args){

JbootApplication.run(args);

}

}