Lanzamiento de Solon 1.6.36, un marco de desarrollo de aplicaciones más moderno

En relación con los proyectos Spring Boot y Spring Cloud

  • Arranque de 5 a 10 veces más rápido
  • qps es de 2 a 3 veces mayor
  • Ahorro de memoria en tiempo de ejecución 1/3 ~ 1/2
  • El embalaje se puede reducir a 1/2 ~ 1/10 (por ejemplo, 90Mb se convierte en 9Mb)

Sobre Solón

Solon es un marco de desarrollo de aplicaciones más moderno, ligero, abierto y ecológico. Admite cualquier escenario de desarrollo como Web, Datos, Trabajo, Remoting, Nube, etc.

  • Énfasis en los principios de moderación + simplicidad + apertura + ecología
  • Esfuércese por una experiencia más pequeña, menos, más rápida y más libre

En la actualidad, existen cerca de 130 complementos ecológicos, que cubren diversas necesidades del desarrollo diario.

Esta importante actualización

  • Agregar compatibilidad con la interfaz SocketContext::SessionState

@Controller
public class DemoController{
    @Socket
    @Mapping("/hello")
    public String hello(Context ctx){
        if(ctx.session("user") == null){
            ctx.sessionSet("user", "noear");
        }
        
        return ctx.session("user");
    }
}
  • Agregar soporte de interfaz Session::pathNew()
  • Agregue las interfaces SolonApp::listenBefore, SolonApp::listenAfter para proporcionar soporte para el filtrado de oyentes
public class DemoApp {
    public static void main(String[] args) {
        Solon.start(DemoApp.class, args, app -> {
            app.listenBefore(new ListenerEmpty() {
                @Override
                public void onOpen(Session session) {
                    //修改ws的监听路径
                    if (session.path().startsWith("/xx/")) {
                        session.pathNew(session.path().substring(4));
                    }
                }
            });
        });
    }
}
  • Agregue el complemento sa-token-solon-plugin para adaptarse a dao [esquema experimental]
    • SaTokenDaoOfRedis
    • SaTokenDaoOfSession
  • Se agregó el complemento mybatis-plus-extension-solon-plugin
  • El complemento solon.extend.sessionstate.jwt arroja ServiceConfigurationError
  • Agregue CloudJobInterceptor para proporcionar un mecanismo de interceptación de trabajos
@Slf4j
public class CloudJobInterceptorImpl implements CloudJobInterceptor {
    @Override
    public void doIntercept(Job job, CloudJobHandler handler) throws Throwable {
        long start = System.currentTimeMillis();
        try {
            handler.handle(job.getContext());
        } catch (Throwable e) {
            //记录带标签的日志
            TagsMDC.tag0("job");
            TagsMDC.tag1(job.getName());
            log.error("{}", e);
            
            throw e; //别吃掉
        } finally {
            //记录一个内部处理的花费时间
            long timespan = System.currentTimeMillis() - start;
            CloudClient.metric().addMeter(Solon.cfg().appName(), "job", timespan);
        }
    }
}
  • Agregue CloudEventInterceptor para proporcionar un mecanismo de interceptación de eventos
//CloudEventInterceptor 与 CloudJobInterceptor 起到类型的作用
  • Ajuste la configuración de manejo predeterminada de Gateway
  • Ajuste CloudJobHandler como la interfaz obligatoria del trabajo, antes de que Handler pueda
  • Ajuste HttpUtils para agregar soporte de cambio entre procesamiento corto y procesamiento largo

Más información sobre Solón

Supongo que te gusta

Origin www.oschina.net/news/190560/solon-1-6-36-released
Recomendado
Clasificación