简介

概述

tio-boot 是一款基于 Java AIO 的高性能 Web 框架,能够让一台 2 核 4G 的 Linux 服务器处理上万并发连接。

主要特点

  1. 基于 Java AIO 和 t-io 开发: 利用 Java 异步 I/O 和 t-io 提供高效能。
  2. 引入 Spring-Boot 配置理念: 支持 Spring-Boot 常用注解,但没有使用 Spring 的 IOC 和 AOP。
  3. 引入 jfinal AOP: 用于支持 DI,IOC 和 Aop.
  4. 引入 Jfinal enjoy 模版引擎和 active-record: 提供操作数据库和模版引擎支持。
  5. 支持常见 Web 组件: 包括拦截器和 WebSocket,Handler,Controller。

口号

简洁、好用、开发快、运行快。

宗旨

去繁求减,返璞归真,轻装上阵,高效开发。

优缺点

框架优势

  1. 无 Servlet: 基于 Java AIO 重写网络连接,支持异步、非阻塞和高性能。
  2. 多协议支持: 一个端口同时支持 UDP、TCP、HTTP、WebSocket 协议。
  3. 支持嵌入式设备: tio-boot 可以在 Android 系统上运行。
  4. 启动速度快,体积小: 仅提供 HTTP 服务时,打包后的 JAR 文件为 3M,启动速度为 300ms。
  5. 开发环境支持热重载: 配合 hotswap-classloader 使用,可以在 20ms 内完成重载,修改代码后无需重启即可测试,大大提高开发效率。
  6. 支持编译成二进制文件: 配合 GraalVM 将 JAR 包编译成二进制文件。

资源优化

  1. 内存减少一半
  2. 服务器数量减少一半

tio 测试数据

  1. 实测性能一: 1.9G 内存稳定支持 30 万 TCP 长连接。详情open in new window
  2. 实测性能二: 使用 t-io 跑出每秒 1051 万条聊天消息。详情open in new window
  3. 实测性能三: Netty 和 t-io 对比测试结果。详情open in new window

缺点

  1. 学习难度高
  2. 需要深厚的编程基础才能理解相关概念

tio-boot 通过其高性能和高效能,为开发者提供了一个简洁、好用且高效的开发工具。然而,由于其复杂的概念和高学习门槛,开发者需要具备深厚的编程基础才能充分利用这个框架的优势。