Redkale 2.5.0 发布,Java 分布式微服务框架

来源: 投稿
作者: Redkale
2021-10-19

Redkale 2.5.0 发布。

Redkale, 一个Java分布式微服务框架,1.4M的jar可以代替传统几十M的第三方。包含TCP/UDP、HTTP、RPC、依赖注入、序列化与反序列化、数据库操作、WebSocket等功能。  一方面模块高度整合,极大的简化业务开发代码,一方面暴露大量底层,方便二次框架开发。  

Java并不臃肿, 臃肿的是你自己的设计思维!

本次版本更新内容:

 1、【新增】支持Graalvm的native-image原生打包
 2、【新增】apidoc生成OpenAPI 3.0规范json文件
 3、【新增】net包支持TLS,且支持最新版TLSv1.3
 4、【新增】增加@bean类,DataSource增加对所有entity参数是否有标记@entity的判断
 5、【新增】增加PrepareCompiler 需结合redkale-maven-plugin插件使用
 6、【新增】RedkaleClassLoader增加putDynXXX系列方法,增加Mpsc相关并发容器类
 7、【优化】【不兼容】移除JDK8的支持, 最低版本升级为JDK11
 8、【优化】【不兼容】废弃RetResult.attach属性
 9、【优化】【不兼容】移除ResourceFactory.root(),增加ResourceFactory.create()
10、【优化】工程改成maven构建方式
11、【优化】RestMapping.name默认值不再去掉Service的服务名
12、【优化】Server.createContext()去掉参数,并从Server.start移至Server.init方法中调用
13、【优化】增加XmlReader,移除java.xml的依赖
14、【优化】convert支持java.lang.Record类
15、【优化】移除AsyncConnection的newInputStream
16、【修复】修复没mq配置下HttpMessageLocalClient无法正常使用的bug
17、【修复】修复HttpSimpleRequest复制给HttpRequest.requestURI没有加上path前缀
18、【修复】修复RESNAME_APP_CONF没有依赖注入的bug

原生打包:

 需要安装Graalvm,在工程pom.xml 加入: 

<plugin> 
  <groupId>org.redkale.maven.plugins</groupId>  
  <artifactId>redkale-maven-plugin</artifactId>  
  <version>1.0.0</version>  
  <configuration> 
    <nativeimageArgs> 
      <arg>--allow-incomplete-classpath</arg>  
      <arg>--no-fallback</arg> 
    </nativeimageArgs> 
  </configuration>  
  <executions> 
    <execution> 
      <id>redkale-compile</id>  
      <phase>process-classes</phase>  
      <goals> 
        <goal>compile</goal> 
      </goals> 
    </execution> 
  </executions> 
</plugin>

  编译完工程后执行:

native-image -H:+ReportExceptionStackTraces --report-unsupported-elements-at-runtime -jar redkale-benchmark.jar

即可得到可运行文件  redkale-benchmark  

由于redkale的零依赖, 原生打包后的文件大小远小于其他可原生打包的框架, 使用依赖官方plugins进行redis、mysql/postgresql等常规功能,打包后的大小依然不大, 如果SpringBoot工程加入redis、mysql等第三方后使用尚未成熟的Spring Native进行打包, 包体会非常大。

详情工程可参考: https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/Java/redkale/redkale-native.dockerfile

OpenAPI文档:

编译完工程并启动后执行 bin/apidoc.sh 会在工程目录下生成符合OpenAPI 3.0.0规范的openapi-doc.json 离线文件。

将json文件放进swagger-ui即可展现文档。

展开阅读全文
5 收藏
分享
加载中
精彩评论
spring都计划明年只支持JDK17以上版本, 8已经被淘汰了 :)
2021-10-19 14:11
1
举报
升级到jdk11,差评!
2021-10-19 12:56
1
举报
最新评论 (5)
项目首页介绍:Redkale (中文名: 红菜苔,湖北武汉的一种特产蔬菜) 是基于Java 8全新的微服务框架。RedKale 有如下主要特点:
1、大量使用Java 8新特性(接口默认值、Stream、Lambda、JDk8内置的ASM等)
是不是得更像一下介绍了啊?23333
2021-10-19 14:45
0
回复
举报
开发手册还在编写中,后续会放出来
2021-10-19 14:47
0
回复
举报
升级到jdk11,差评!
2021-10-19 12:56
1
回复
举报
关键还不支持8了,差评!
2021-10-19 14:01
0
回复
举报
spring都计划明年只支持JDK17以上版本, 8已经被淘汰了 :)
2021-10-19 14:11
1
回复
举报
更多评论
5 评论
5 收藏
分享
返回顶部
顶部