Solon|Solon 1.6.33 发布,更现代感的应用开发框架

相对于 Spring Boot 和 Spring Cloud 的项目

  • 启动快 5 ~ 10 倍
  • qps 高 2~ 3 倍
  • 运行时内存节省 1/3 ~ 1/2
  • 打包可以缩小到 1/2 ~ 1/10(比如,90Mb 的变成了 9Mb)
关于 Solon
Solon 是一个更现代感的应用开发框架,轻量、开放生态型的。支持 Web、Data、Job、Remoting、Cloud 等任何开发场景。
  • 强调,克制 + 简洁 + 开放 + 生态的原则
  • 力求,更小、更少、更快、更自由的体验
【Solon|Solon 1.6.33 发布,更现代感的应用开发框架】目前有近130个生态插件,含盖了日常开发的各种需求。
本次主要更新
  • 增加 Session::sendAsync() 接口,便于支持跨线程发消息
    • 插件 solon.boot.jetty 的 weboskcet 增加支持
    • 插件 solon.boot.undertow 的 weboskcet 增加支持
    • 插件 solon.boot.websocket 的 weboskcet 增加支持
    • 插件 solon.boot.smarthttp 的 weboskcet 增加支持
    • 插件 solon.boot.socketd.jdksocket 的 socket 增加支持
    • 插件 solon.boot.socketd.netty 的 socket 增加支持
    • 插件 solon.boot.socketd.smartsocket 的 socket 增加支持
  • 增加 server.ssl.* 专属ssl配置属性
    • 插件 solon.boot.jlhttp,增加 ssl 支持
    • 插件 solon.boot.jetty,增加 ssl 支持
    • 插件 solon.boot.undertow,增加 ssl 支持
  • 插件 solon.schedule 添加 纯手工控制能力
public class DemoApp { public static void main(String[] args) throws Throwable { Solon.start(DemoApp.class, args, app -> { //删掉job app.get("/removeJob", (ctx) -> { String name = ctx.param("name"); if (Utils.isNotEmpty(name)) { JobManager.remove(name); } }); }); JobManager.add("job1", 1000 * 3, false, () -> { System.out.println("job1::" + LocalDateTime.now()); }); JobManager.add("job2", "0/10 * * * * ? *", false, () -> { System.out.println("job2::" + LocalDateTime.now()); }); JobManager.start(); } }

  • 插件 dubbo-solon-plugin 的注解添加属性模板支持
@Controller public class DemoController{ @Reference(group="${demo.group}") UserService userService; //... }

  • 优化 Bean 的泛型基类在容器的注册
进一步了解 Solon
  • 《想法与架构笔记》
  • 《生态预览》
  • 《与 Spring Boot 的区别?》
  • 《与 Spring Cloud 的区别?》
项目地址
  • gitee:https://gitee.com/noear/solon
  • github:https://github.com/noear/solon
  • website: https://solon.noear.org

    推荐阅读