Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【开源自荐】 用 Java?试试国产轻量的 Solon 应用开发框架 #2590

Open
noear opened this issue Aug 25, 2022 · 0 comments
Open

Comments

@noear
Copy link

noear commented Aug 25, 2022

Solon for java

更现代感的,轻量级应用开发框架

https://solon.noear.org

Maven Apache 2 jdk-8+
gitee star github star



启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10


Solon

更现代感的应用开发框架。更快、更小、更少、更自由!

支持jdk8、jdk11、jdk17+;主框架0.1mb;组合不同的插件应对不同需求;方便定制;快速开发。

  • 克制、简洁、开放、生态
  • Http、WebSocket、Socket 三种信号统一的开发体验(俗称:三源合一)
  • 支持注解与手动两种模式,按需自由操控
  • Not Servlet,可以适配任何基础通讯框架(所以:最小0.2m运行rpc架构)
  • 自建 IOC & AOP容器,支持 Web、Data、Job、Remoting、Cloud 等任何开发场景
  • 集合 Handler + Context 和 Listener + Message 两种架构模式;强调插件式扩展;适应不同的应用场景
  • 插件可扩展可切换:启动插件,扩展插件,序列化插件,数据插件,会话状态插件,视图插件(可共存) 等...
  • 支持 GraalVm Native 打包
  • 允许 业务插件 热插、热拨
  • 体验与 Spring Boot 相近,迁移成本低: 《Solon 特性简集,相较于 Springboot 有什么区别?》

Solon Cloud

一系列分布式开发的接口标准和配置规范,相当于DDD模式里的防腐层概念。是 Solon 的微服务架构模式开发解决方案。
目前已适配了一系列的插件用于支持这一标准:《Solon Cloud 分布式服务开发套件清单,感觉受与 Spring Cloud 的不同》

其中,Water 项目 是一站式支持 Solon Cloud 系列标准的支撑平台。
功能相当于:consul + rabbitmq + elk + prometheus + openFaas + quartz + 等等,并有机结合在一起。一直与 Solon 项目伴生成长。

Hello world:

<parent>
    <groupId>org.noear</groupId>
    <artifactId>solon-parent</artifactId>
    <version>1.10.2-M1</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>solon-web</artifactId>
    </dependency>
</dependencies>
//Handler 模式:
public class App{
    public static void main(String[] args){
        SolonApp app = Solon.start(App.class,args);
        
        app.get("/",(c)->c.output("Hello world!"));
    }
}

//Controller 模式:(mvc or rest-api)
@Controller
public class App{
    public static void main(String[] args){
        Solon.start(App.class,args);
    }
  
    //限定 WebSocket 方法类型
    @WebSocket
    @Mapping("/")
    public String hello(String name){
        return "Hello " + name;
    }
}

//Remoting 模式:(rpc)
@Mapping("/")
@Remoting
public class App implements HelloService{
    public static void main(String[] args){
        Solon.start(App.class,args);
    }

    @Override
    public String hello(){
        return "Hello world!";
    }
}

主框架及快速集成开发包:

主框架
组件 说明
org.noear:solon-parent 框架版本管理
org.noear:solon 主框架
org.noear:nami 伴生框架(做为solon remoting 的客户端)
快速集成开发包及相互关系
组件 说明
org.noear:solon-lib 快速开发基础集成包
org.noear:solon-api solon-lib + jlhttp boot;快速开发接口应用
org.noear:solon-web solon-api + freemarker + sessionstate;快速开发WEB应用
org.noear:solon-beetl-web solon-api + beetl + beetlsql + sessionstate;快速开发WEB应用
org.noear:solon-enjoy-web solon-api + enjoy + arp + sessionstate;快速开发WEB应用
org.noear:solon-rpc solon-api + nami;快速开发RPC应用
org.noear:solon-cloud solon-rpc + consul;快速开发微服务应用

快速了解 Solon 架构的材料:

《Solon 的想法与架构笔记》
《Solon 生态插件清单》

官网及相关示例:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants