相对于 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 等任何开发场景。
- 强调,克制 + 简洁 + 开放 + 生态的原则
- 力求,更小、更少、更快、更自由的体验
目前有近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
项目地址
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon
- website: https://solon.noear.org