Solon 1.8.0 发布,云原生微服务开发框架


相对于 Spring Boot 和 Spring Cloud 的项目

  • 启动快 5 ~ 10 倍
  • qps 高 2~ 3 倍
  • 运行时内存节省 1/3 ~ 1/2
  • 打包可以缩小到 1/2 ~ 1/10(比如,90Mb 的变成了 9Mb)
  • 基于 app.name 进行注册发现 与 k8s svc 相互对应
  • 支持 Service Mesh 架构部署方案

关于 Solon

Solon 是一个更现代感的应用开发框架,轻量、开放生态型的。支持 Web、Data、Job、Remoting、Cloud 等任何开发场景。

  • 强调,克制 + 简洁 + 开放 + 生态的原则
  • 力求,更小、更少、更快、更自由的体验

目前有近130个生态插件,含盖了日常开发的各种需求:

本次主要更新内容

  • 新增 solon.extend.hotplug 插件(提供业务插件 '热插拨' 和 '热管理' 支持)
public class DemoApp {
public static void main(String[] args) {
Solon.start(App.class, args, app -> {
//添加待管理的插件
PluginManager.add("add1", "/x/x/x.jar");
PluginManager.add("add2", "/x/x/x2.jar");
 
app.get("start", ctx -> {
//启动插件
PluginManager.start("add1");
ctx.output("OK");
});

app.get("stop", ctx -> {
//停止插件
PluginManager.stop("add1");
ctx.output("OK");
});
});
}
}

更多介绍看官网的:solon.extend.hotplug

  • 调整 AopContext ,更具隔离性
  • 调整 AopContext::beanOnloaded 参数由 Runnable 改为:Consumer
  • 调整 Plugin::start 参数由 SolonApp 改为:AopContext
public class Plugin1Impl implements Plugin {
@Override
public void start(AopContext context) {
//通过当前上下文扫描,具有隔离性
context.beanScan(Plugin1Impl.class);

context.beanOnloaded(ctx->{
//回调有上下文信息,方便做多插件可复用的设计
});
}
}
  • 修复 @Cache 在函数里有逗号时无法删除缓存的问题
@Controller
public class DemoController {
/**
 * 执行结果缓存10秒,使用 key=test_${label} 并添加 test 标签
 * */
@Cache(key="test_${label}", tags = "test" , seconds = 10)
@Mapping("/cache/")
public Object test(int label) {
return new Date();
}

/**
 * 执行后,清除 标签为 test的所有缓存
 * */
@CacheRemove(tags = "test")
@Mapping("/cache/clear")
public String clear() {
return "清除成功(其实无效)-" + new Date();
}

/**
 * 执行后,更新 key=test_${label}的缓存
 * */
@CachePut(key = "test_${label}")
@Mapping("/cache/clear2")
public Object clear2(int label) {
return new Date();
}
}
  • 修复 Gateway 对默认接口识别失效的问题
@Mapping("/api/v3/app/**")
@Component
public class ApiGatewayV3 extends UapiGateway {
@Override
protected void register() {
filter(new BreakerFilter()); //融断

before(new StartHandler()); //开始计时
before(new ParamsParseHandler()); //参数解析
before(new ParamsSignCheckHandler(new Md5Encoder())); //参数签名较验
before(new ParamsRebuildHandler(new AesDecoder())); //参数重构

after(new OutputBuildHandler(new AesEncoder())); //输出构建
after(new OutputSignHandler(new Md5Encoder())); //输出签名
after(new OutputHandler()); //输出
after(new EndBeforeLogHandler()); //日志
after(new EndHandler("v3.api.app")); //结束计时

//添加一批具体的接口处理Bean
addBeans(bw -> "api".equals(bw.tag()));
}
}
  • 修复 rocketmq-solon-plugin ,消费异常时仍返回成功的问题
  • 优化 rabbitmq-solon-plugin ,消费异常时的处理

进一步了解 Solon

  • 《想法与架构笔记》
  • 《生态预览》
  • 《与 Spring Boot 的区别?》
  • 《与 Spring Cloud 的区别?》

项目地址

  • gitee:https://gitee.com/noear/solon
  • github:https://github.com/noear/solon
  • website: https://solon.noear.org

相關推薦

2024-03-21

Java Solon 是什么框架? 是一个可平替 Spring 生态的 Java 应用开发框架。从零开始构建,有自己的标准规范与开放生态。(历时七年,具备全球第二级别的生态规模) 追求: 更快、更小、更简单 提倡: 克制、简洁、高效、

2023-05-08

Water(水孕育万物...) Water 为项目开发、服务治理,提供一站式解决方案(可以理解为微服务架构支持套件)。基于 Solon 框架开发,并支持完整的 Solon Cloud 规范;已在生产环境奔跑了5年。对中小型项目而言,有它便有一切。

2023-01-09

Water(水孕育万物...) Water 为项目开发、服务治理,提供一站式解决方案(可以理解为微服务架构支持套件)。基于 Solon 框架开发,并支持完整的 Solon Cloud 规范;已在生产环境奔跑了5年。 功能相当于:consul + rabbitmq + elk + prom

2023-07-13

会2023(Cloud)期间,由华为云开源主导的“5大开源项目发布与更新,多种底层能力助力开发者实现应用创新”分论坛圆满落幕。 在本次分论坛中, 华为云开源业务总经理邓明昆介绍了华为云开源的发展现状与规划,并正式对

2022-10-14

来越好是整个开源社区的共同愿望,所以easy-trans本次也发布了solon的版本。     因为是第一个版本,所以功能比sp版本稍微弱一点点点点,ORM框架目前只支持MP,不支持微服务翻译。其他的和sp版本功能相同。 功能  

2023-11-03

户建议) 优化 mqtt-solon-cloud-plugin 重构代码,增加异步发布与并发消费模式(并改为异步接口)(感谢用户建议) 优化 mqtt5-solon-cloud-plugin 重构代码,增加异步发布与并发消费模式(并改为异步接口)(感谢用户建议) 增加

2023-05-04

Java 新的生态型应用开发框架,Solon :更快、更小、更简单。从零开始构建,有自己的标准规范与开放生态: 150多个生态插件,可以满足各种场景开发 大量的国产框架适配,可以为应用软件国产化提供更好支持 相对于 Spr

2022-12-22

3)部分组件服务治理功能不齐全,缺少动态路由、灰度发布等微服务核心功能。 为了解决上面的问题,降低用户开发及运营微服务的门槛。北极星为服务治理提供一站式解决方案,覆盖服务注册中心、服务网格和配置中心的

2023-11-15

搞,不知道有没有洗过澡, 有没有换过衣服。 4、我们发布第一个 Solon Native 版本 2023年的夏天,有个新男人来。说是要用 Solon Native。我心里其实没底,原生这东西太难用了。必须得忍住不哭才行。后来他招乎也没打,跑了。

2024-05-08

Java Solon 是什么框架? Java “新的”应用开发框架。开放原子开源基金会,孵化项目。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。 追求: 更快、更小、更简单 提倡: 克制、简洁、高效、开放、生态

2022-04-08

Water(水孕育万物...) Water 为项目开发、服务治理,提供一站式解决方案(可以理解为微服务架构支持套件)。基于 Solon 框架开发,并支持完整的 Solon Cloud 规范;已在生产环境奔跑了4年。 功能约等于:consul + rabbitmq + elk + prom

2022-09-08

Water(水孕育万物...) Water 为项目开发、服务治理,提供一站式解决方案(可以理解为微服务架构支持套件)。基于 Solon 框架开发,并支持完整的 Solon Cloud 规范;已在生产环境奔跑了4年。 功能相当于:consul + rabbitmq + elk + prom

2024-09-27

Solon (开放原子开源基金会,孵化项目)原计划10月1日发布 v3.0 正式版。看到 HarmonyOS NEXT 将在 10月8日启用公测,现改为10月8日发布以示庆贺。另外,Solon 将在2025年启动“仓颉”版开发(届时,将会有 Solon-Java 和 Solon-CJ 两个版

2023-11-18

先吹牛! 在 v2.6 这个新的里程碑节点,Solon 又完成了几件惊天大事(每一件,都是经历了漫长时间打磨与积累): (1)Solon Native,有了第一个开源案例:dromara/neutrino-proxy (它是2021年起头的二级项目) Solon 估计是国内唯