请先关注 [低调大师] 公众号 优秀的自媒体个人博客,低调大师,许军

低调大师

您现在的位置是:首页>文章详情

文章详情

Cloudopt Next 更新至 2.0.8.0-BETA

2020-08-03 49热度

Cloudopt Next 是一个非常轻量级且现代的、基于 Kotlin 编写的全栈开发框架,同时支持 Java 和 Kotlin,您可以处理Url的解析,数据的封装,Json的输出等等,从根本上减少开发时间、提升开发体验。

官网: https://next.cloudopt.net

Cloudopt Next 主要拥有以下特点:

简单 极简设计,几乎不要任何配置,不依赖 Tomcat、Jetty 等 Web 容器。

异步 基于 vertx 轻松实现高性能的异步服务。

扩展 支持 vertx 体系的各种组件,同时支持通过插件扩展功能,官方也提供了大量好用的插件。

中文 全中文文档、中文社区,帮助中文开发者快速上手。

 

性能

测试电脑的 CPU 是 2.2 GHz 六核 Intel Core i7,内存为 16 GB 2400 MHz DDR4。

 

吞吐量参数为用户数 10,循环 10000 次。

框架名称 吞吐量
Cloudopt Next 20267.5/sec
Spring Boot 10698.2/sec
Flask 440.8/sec

根据性能测试结果:Cloudopt Next 的性能是 Flask 的 50 倍,是 Spring Boot 的两倍。

 

示例

您可以通过访问Cloudopt Next的官网来查看文档,也可以前往Example查看简单的示例。

 

路由

让我们来看看一个简单的基于Cloudopt Next的路由:

 @API("/") class IndexController : Resource() {  @GET  fun get(){  renderHtml(view = "index")  } } 
 @API(value = "/") public class IndexController extends Resource {   @GET  public void get(){  View v = new View();  v.setView("index");  renderHtml(v);  } }

 

启动

 fun main(args: Array<String>) {  NextServer.run() } 
 public static void main(String args[]) {  NextServer.run(); }

 

WebSocket

 @WebSocket("/websocket") class WebSocketController : WebSocketResource {  override fun handler(userWebSocketConnection: ServerWebSocket) {  println("Connected!")  userWebSocketConnection.writeTextMessage("Hello World")  userWebSocketConnection.frameHandler { frame ->  println(frame.textData())  }  } }

SockJS

 @SocketJS("/socket/api/*") class SocketController : SocketJSResource {  override fun handler(userSocketConnection: SockJSSocket) {  println(userSocketConnection)  userSocketConnection.handler {message->  println(message)  userSocketConnection.write("Hello world!")  }  } }

 

插件

 fun main(args: Array<String>) {  NextServer.addPlugin(TestPlugin())  NextServer.addPlugin(EventPlugin())  NextServer.run() }

 

2.0.8.0-BETA

  • EventBus 支持 map 类型和 fastjson 的常用对象。
  • 修复在读取配置文件 json 对象时,如果取空值会引发报错的问题。
  • 获取配置时会去读取配置文件的 json 对象,现在在获取类似 "net.cloudopt.next" 这种多级别的值的之前会将配置文件的 json 对象新生成一份再读取。
  • 重命名 NextServer 的 controllers 对象为 resourceTables。
  • 优化 Handler 的生命周期,现在执行 afterCompletion 会一定在请求结束后执行,之前在请求时间较长时可能会出现事件丢失的问题。
  • 优化了 Handler 的生命周期后,现在错误拦截器也已经支持全局的 Handler。
  • 重构了 Handler 类,将其从抽象类改为接口,同时支持 afterRender(),支持在渲染后运行、支持通过返回的布尔值控制是否进行下一步还是直接返回数据。
  • 自带的 Handler 都已经对新的 Handler 接口进行了适配。
  • 现在如果 Handler 类中没有声明结束请求的话,Next 在执行相关方法时会自动关闭请求。
  • 升级 fastjson 的相关依赖。
  • 关闭 fastjson 的安全模式,使用白名单模式(目前已内置 Next 相关包名)。
  • 增加 cloudopt-next-cache 插件。
收藏 (0)

相关文章

    文章评论

    共有0条评论来说两句吧...