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. Requested setting LOGGING_CONFIG, but settings are not configured

  2. node 代理访问服务器

    1.背景 由于在开发的过程中,我们经常需要访问测试/正式环境,会出现线上正常,本地访问不同 2.方案 方法一: 我们可以通过node作为中间件,解决这一问题.示例如下: var express = r ...

  3. Outlook无法启动一直显示“正在启动”的解决方法

    缘起 今天早上打开电脑以后,就打开Outlook2016了,一直显示这个界面: 我没在意就干别的事了, 可以半个小时过去了,还是这个界面,我慌了. 解决方法 安全模式打开Outlook 按WIN + ...

  4. Galaxy 生信平台(三):xlsx 上传与识别

    我在<Firefox Quantum 向左,Google Chrome 向右>中,曾经吐槽过在 Firefox 中使用 Galaxy 上传本地的 Excel 文件时,会出现 xlsx 无法 ...

  5. 关于int**在malloc为二维数组分配空间时候的作用见解

    关于int**在用malloc函数为二维数组分配空间时候 int**   二级指针类型 二维数组的数组名为行指针,写成  arr  =(char**)malloc(n*sizeof(char))时,a ...

  6. Python实现猜拳小游戏的多种方式

    简介 猜拳小游戏是一个经典的小游戏项目,也是初学者学习编程的必要练手题目之一.在 Python 中,我们可以使用多种方式来实现一个简单的猜拳小游戏. 本文将依次介绍六种Python实现猜拳小游戏的方法 ...

  7. 【VS Code 与 Qt6】运用事件过滤器批量操作子级组件

    如果某个派生自 QObject 的类重写 eventFilter 方法,那它就成了事件过滤器(Event Filter).该方法的声明如下: virtual bool eventFilter(QObj ...

  8. CANoe学习笔记(五):Diva自动化测试工程

    内容: Diva工程的建立 Diva工程的配置 测试条例选择 一.新建一个Diva工程 左上角选择New,然后配置好下面部分 二.配置Diva工程 1. 2. 3.配置一些时间参数,按需求填写 4.其 ...

  9. 基于Microsoft SEAL 同态加密场景特性

    基于Microsoft SEAL 同态加密场景特性 同态加密是一种特殊的加密技术,它允许在加密状态下进行计算操作而无需解密数据.在传统的加密算法中,对加密的数据进行运算操作通常需要先解密数据,然后再进 ...

  10. 【AGC】云监控日志服务查询不到Logger日志相关问题2

    ​[关键字] AGC.云监控.日志服务 [问题描述] 之前有开发者反馈在使用AGC云监控,填写了Logger日志,但是在云监控的日志服务查不到的问题.具体如下所述: 云函数按要求写了Logger日志, ...