Solon 是什么?

Java 生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。2023年6月,Maven 单月下载量突破200万

解决痛点?

由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:

相对于 Spring Boot 和 Spring Cloud 的项目,有什么特点?

  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 运行时内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 同时支持 jdk8, jdk11, jdk17, jdk20, graalvm native image

最近的 2.4.2 版本更新了什么?

  • 新增 lettuce-solon-plugin 插件
  • 新增 solon.docs.openapi2 插件
  • 新增 solon.cloud.metrics 插件
  • 升级 solon-maven-plugin 的相关依赖
  • 增加 List<Bean>Map<String,Bean> 注入支持
  • 增加 Context::attrOrDefault 接口,原接口标为弃用
  • 增加 RouterInterceptor::pathPatterns 接口,原接口标为弃用
  • 增加 solon-admin-server 对 basic auth 配置的支持
  • 增加 solon-admin-server 对 uiPath 配置的支持
  • 增加 solon-admin-client 接口安全控制
  • 增加 solon-admin-client 与 server 一起使用时,自动识别 serverUrl
  • 增加 solon-admin-client 增加 token 访问控制
  • 调整 solon-admin-client ,元信息改为 solon.app 的内容;server 监视日志改为 trace 级别
  • 调整 solon.docs 的控制器启动,转到 solon-openapi2-knife4j。方便不同的框架定制自己的服务
  • 调整 @Bean 函数的 VarGather::requireRun 由 false 改为 true,只要过了条件检测必然运行
  • 调整 sa-token-solon-plugin 插件,增加对网关的支持
  • 调整 CloudMetricService 接口设计,更适合与 micrometer 对接
  • 调整 solon.health.detector 代码实现,增加复用性
  • 修复 solon.cloud.eventplus 插件 @CloudEventSubscribe 注解在函数会出错的问题
  • 修复 solon.docs 插件 @ApiParam 注解无效的问题
  • mybatis-flex 升为 1.5.6
  • beetlsql 升为 3.23.6-RELEASE
  • sqltoy 升为 5.2.60
  • snack3 升为 3.2.75
  • wood 升为 1.1.8
  • smarthttp 升为 1.2.9
  • smartsocket 升为 1.5.32

项目仓库地址?

遥遥领先 spring,中国人的 solon 来啦!10% 的体积,10倍的速度的更多相关文章

  1. 给定整数a1、a2、a3、...、an,判断是否可以从中选出若干个数,使得它们的和等于k(k任意给定,且满足-10^8 <= k <= 10^8)。

    给定整数a1.a2.a3.....an,判断是否可以从中选出若干个数,使得它们的和等于k(k任意给定,且满足-10^8 <= k <= 10^8). 分析:此题相对于本节"寻找满 ...

  2. gitlab 迁移、升级打怪之路:8.8.5--> 8.10.8 --> 8.17.8 --> 9.5.9 --> 10.1.4 --> 10.2.5

    gitlab 迁移.升级打怪之路:8.8.5--> 8.10.8 --> 8.17.8 --> 9.5.9 --> 10.1.4 --> 10.2.5 gitlab 数据 ...

  3. var a =10 与 a = 10的区别

    学习文章------汤姆大叔-变量对象 总结笔记 变量特点: ①变量声明可以存储在变量对象中.②变量不能直接用delete删除. var a =10 与 a = 10的区别: ①a = 10只是为全局 ...

  4. K - Large Division 判断a是否是b的倍数。 a (-10^200 ≤ a ≤ 10^200) and b (|b| > 0, b fits into a 32 bit signed integer). 思路:取余;

    /** 题目:K - Large Division 链接:https://vjudge.net/contest/154246#problem/K 题意:判断a是否是b的倍数. a (-10^200 ≤ ...

  5. 使用while 打印10~1,1~10

    使用while 打印10~1,1~10 #!/bin/bash i= ));do echo $i ((i--)) done 答案:109876543210 i= ));do echo $i ((i++ ...

  6. 【149】ArcGIS Desktop 10.0 & Engine 10.0 安装及破解

    写在前面:可能会出现按照此方法无法破解的情况,那请确保您有将 ArcGIS 10.0 已经完全卸载干净,直接通过控制面板进行卸载的时候并不能将其卸载干净,需要进行更深层次的卸载,包括删除注册表,各种文 ...

  7. Mysql char(10) 与 varchar(10)的区别

    DROP TABLE test_string; ), col_varchar )); INSERT INTO `test_string` VALUES ('mysql', 'mysql'); 在创建数 ...

  8. JAVA 基础编程练习题10 【程序 10 自由落体】

    10 [程序 10 自由落体] 题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第 10 次落地时, 共经过多少米?第 10 次反弹多高? package cska ...

  9. python中,a=10.0 b=10.0 a is b 为什么输出是false

    >>>a=10.0>>>b=10.0>>>a is bFalse为什么当a=10,b=10时,a is b输出的是True呢? >>& ...

  10. mysql原来是按自然日统计。怎么可以用今天10点到次日10点这样统计???

    关于网友提出的" mysql原来是按自然日统计.怎么可以用今天10点到次日10点这样统计???"问题疑问,本网通过在网上对" mysql原来是按自然日统计.怎么可以用今天 ...

随机推荐

  1. Golang for循环遍历小坑

    一.for循环 循环:让程序多次执行相同的代码块for循环是Go语言中唯一一个循环结构for循环经典语法先执行表达式1执行表达式2判断是否成立,如果成立执行循环体循环体执行完成后,执行表达式3再次执行 ...

  2. 2023-04-09:使用 Golang 重写的 ffmpeg 示例encode_video.c,实现视频编码并将编码后的数据封装为容器格式,最终写入输出文件。

    2023-04-09:使用 Golang 重写的 ffmpeg 示例encode_video.c,实现视频编码并将编码后的数据封装为容器格式,最终写入输出文件. 答案2023-04-09: 本文介绍的 ...

  3. 2020-11-18:java中,到底多大的对象会被直接扔到老年代?

    福哥答案2020-11-18: HotSpot 虚拟机提供了-XX:PretenureSizeThreshold 参数,指定大于该设置值的对象直接在老年代分配,这样做的目的就是避免在 Eden 区及两 ...

  4. Java中synchronized的优化

    本文介绍为了实现高效并发,虚拟机对 synchronized 做的一系列的锁优化措施 高效并发是从 JDK5 升级到 JDK6 后一项重要的改进项,HotSpot 虚拟机开发团队在 JDK6 这个版本 ...

  5. @GrpcServise 注解的作用和使用

    转载请注明出处: 1. @GrpcServise 的作用和优势 在没有使用 @GrpcServise 注解编写服务端时,我们通常需要自定义 Server 以及端口,包括 start,stop ,注册s ...

  6. 代码随想录算法训练营Day46 动态规划

    代码随想录算法训练营 代码随想录算法训练营Day46 动态规划| ●  139.单词拆分 关于多重背包,你该了解这些! 背包问题总结篇! 139.单词拆分 题目链接:139.单词拆分 给定一个非空字符 ...

  7. 【爬虫+数据清洗+可视化】用Python分析“淄博烧烤“的评论数据

    目录 一.背景介绍 二.爬虫代码 2.1 展示爬取结果 2.2 爬虫代码讲解 三.可视化代码 3.1 读取数据 3.2 数据清洗 3.3 可视化 3.3.1 IP属地分析-柱形图 3.3.2 评论时间 ...

  8. 曲线艺术编程 coding curves 第三章 弧,圆,椭圆(ARCS, CIRCLES, ELLIPSES)

    第三章 弧,圆,椭圆(TRIG CURVES) 原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二 ...

  9. webGPU orillusion(一)

    关于架构的理解与认识   Orillusion 核心借鉴了 ECS 结构,遵循 组合优于继承 的开发设计原则,实现了自己的组件系统.我们将传统复杂的逻辑划分为独立的.可重复利用的部分,每个部分可以单独 ...

  10. R画韦恩图之总结

    本文分享自微信公众号 - 生信科技爱好者(bioitee).如有侵权,请联系 support@oschina.cn 删除.本文参与"OSC源创计划",欢迎正在阅读的你也加入,一起分 ...