Solon Cloud 分布式开发套件清单与快速概览

Solon 框架详解(二)- Solon的核心 Solon的核心 在上篇中我们成功运行了一个简单的web应用;本篇将对它的启动过程、扩展体系和应用属性配置进行介绍。 (一)XApp.start(source, args, builder) 内部执行过程(即Solon的启动过程) 实例化 XApp.global() 加载应用属性配置 加载扩展文件夹 扫描插件并排序记录(插件也可叫扩展组件) 运行builder函数(如果它不为null) 运行插件 扫描source目录并加载java bean 加载渲染关系 完成 了解这个过程非常之重要,尤其是有兴致开发 阅读详情

Solon Cloud 是一系列的接口标准和配置规范。Solon Cloud 为常见的分布式系统模式提供了一种简单且方便的编程模式,帮助开发人员构建有弹性的、可靠的、协调的应用程序。Solon Cloud 构建于 Solon 之上,可使开发者很容易入手并快速应用于生产中。Solon Cloud 主要由三部分组成:接口定义与配置规范、实现相关接口定义的各种插件,以及通用客户端。

Solon Cloud 非常容易实现与自研框架进行对接。只要实现相关接口定义,按规范配置的一个插件,即是一个 Solon Cloud 插件。

Solon Cloud 项目源码: 
https://gitee.com/noear/solon

Solon Cloud 示例源码: 
https://gitee.com/noear/solon_cloud_demo

特点1:身材苗条

最小的 Solon Cloud 开发单位只有4m(含 okhttp、mysql、redis、memcaced、HikariCP 等客户端或驱动)

特点2:速度更快

本机helloworld测试,Qps可达12万之多。可参考:《 helloworld_wrk_test 》

特点3:代码自由

所有的能力可以用注解,也可以纯手写。按需而定,自由随心。

建议

让自己的单体应用,能多实例部署。就是分布式的良好开始......然后改用配置服务,然后增加事件驱动,按需拆分......慢慢来。

一、Solon Cloud 套件内容

(1)接口定义及配置规范清单

接口定义及配置规范,可为不同的框架适配与使用提供了统一的模式

功能名称

Solon Cloud

接口定义

配置规范(具体暂略)

服务注册与发现

Solon Cloud Discovery

CloudDiscoveryService

solon.cloud.@@.discovery

服务间调用方式

RPC or REST API or Event

-

-

服务网关

Solon Gateway

-

-

断路器

Solon Cloud Breaker

CloudBreakerService

solon.cloud.@@.breaker

分布式配置

Solon Cloud Config

CloudConfigService

solon.cloud.@@.config

服务跟踪

Solon Cloud Tracing

CloudTraceService

solon.cloud.@@.trace

事件总线

Solon Cloud Event

CloudEventService

solon.cloud.@@.event

分布式任务

Solon Cloud Job

CloudJobService

solon.cloud.@@.job

分布式ID

Solon Cloud Id

CloudIdService

solon.cloud.@@.id

分布式文件

Solon Cloud File

CloudFileService

solon.cloud.@@.file

分布式名单

Solon Cloud List

CloudListService

solon.cloud.@@.list

分布式锁

Solon Cloud Lock

CloudLockService

solon.cloud.@@.lock

分布式日志

Solon Cloud Logging

CloudLogService

solon.cloud.@@.log

(2)现有适配插件清单

插件

说明

外部框架适配::

说明

org.noear:consul-solon-plugin

consul 适配插件(支持Solon cloud 配置服务、注册与发现服务)

org.noear:nacos-solon-plugin

nacos 适配插件(支持Solon cloud 配置服务、注册与发现服务)

org.noear:zookeeper-solon-plugin

zookeeper 适配插件(支持Solon cloud 配置服务、注册与发现服务)

org.noear:water-solon-plugin

water 适配插件(支持Solon cloud 配置服务、注册与发现服务、事件总线服务、日志服务、跟踪服务、锁服务)

org.noear:rabbitmq-solon-plugin

rabbitmq 适配插件(支持Solon cloud 事件总线服务)

org.noear:rocketmq-solon-plugin

rocketmq 适配插件(支持Solon cloud 事件总线服务)

org.noear:mqtt-solon-plugin

mqtt 适配插件(支持Solon cloud 事件总线服务)

org.noear:kafka-solon-plugin

kafka 适配插件(支持Solon cloud 事件总线服务)

org.noear:guava-solon-plugin

guava 适配插件(支持Solon cloud 融断服务)

org.noear:sentinel-solon-plugin

sentinel 适配插件(支持Solon cloud 融断服务)

org.noear:semaphore-solon-plugin

semaphore 适配插件(支持Solon cloud 融断服务)

org.noear:aliyun-oss-solon-plugin

aliyun-oss 适配插件(支持Solon cloud 分布式文件服务)

org.noear:aws-s3-solon-plugin

aws-s3 适配插件(支持Solon cloud 分布式文件服务)

org.noear:snowflake-id-solon-plugin

snowflake 算法适配插件(支持Solon cloud 分布式ID服务)

(3)通用客户端

通用客户端,提供了所有不同框架的统一使用界面,同时提供了自由手动操控的机制。

//手动获取配置(不管背后是哪个配置框架,都是如此)
 Config val1 = CloudClient.config().pull(Solon.cfg().appGroup(), "demo.ds");
 
 //手动生成ID
 long val2 = CloudClient.id().generate();
 
 //手动发布事件(不管背后是哪个消息队列,都是如此)
 CloudClient.event().publish(new Event("demo.user.login","1"));
 
 //等...

二、快速概览

(1)hello world

一个普通的 rest api,输出 hello world

public class DemoApp {
    public static void main(String[] args) {
        Solon.start(DemoApp.class, args, app->{
          app.get("/", c -> c.output("Hello world!"));
        });
    }
}

(2)使用配置服务

通过本地配置导入需要的分布式配置

solon.cloud.water:
  server: water  
  config:
    load: "test.properties" #默认加载一个配置

或者,使用 @CloudConfig 注解生成Bean

@Configuration
public class Config {
    @Bean
    public DataSource ds(@CloudConfig("demo.ds") HikariDataSource ds){
        return ds;
    }
}

(3)使用注册与发现服务实现RPC调用

服务端

//
// 1.所有 remoting = true 的组件,即为 rpc 服务;
// 2.以 uri 的形式提供资源描述,以同时支持 rest api 和 rpc 两种模式
//
@Mapping("/rpc/")
@Component(remoting = true)
public class HelloServiceImpl implements HelloService{

    @Override
    public String hello(String name) {
        return null;
    }
}

客户端

@Controller
public class HelloController {
    //注入Rpc服务代理(会自动通过发现服务获取服务集群)
    @NamiClient(name = "hellorpc", path = "/rpc/")
    HelloService helloService;
    
    public String hello(String name){
        return helloService.hello(name);
    }
}

(4)使用Slf4j日志接口,转发到分布式日志记录器

Solon Cloud Log 强调语义标签(或固化的元信息)。通过语义标签,对日志进行固定索引,进而实现更快的查询效果。

@Slf4j
public class LogController {
    @Mapping("/")
    public String hello(String name){
        //将元信息固化为 tag0 ... tag4;利于做日志索引
        TagsMDC.tag0("user_"+name); //相当于 MDC.put("tag0", "user_"+name);
        
        log.info("有用户来了");
        
        return name;
    }
}

注:也可以改用 logback 做日志服务,只需要排除掉 solon.logging.impl 框架却可

Solon Cloud 分布式开发套件清单与快速概览

(5)使用分布式事件进行业务水平扩展

Solon Cloud Event 的两个特性说明:

  1. 自守护模式,即失败后不断延时重发确保最终成功。此特性可支持SAGA分布式事务模型。
  2. 多通道模式,即不同消息队列并存。此特性可按业务做不同安排,例如:业务消息用 RabbitMQ,IoT消息用 Mqtt。

例,发布事件

public class EventController {
    public void onUserRegistered(long user_id) {
        //用户注册完成后,发布一个事件
        //
        CloudClient.event().publish(
                new Event("user.registered", String.format("{\"user_id\":%d}", user_id)));
    }
}

订阅与消费事件

@CloudEvent("user.registered")
public class EventListen implements CloudEventHandler {
    @Override
    public boolean handler(Event event) throws Throwable {
        //用户注册完成后,送个金币...
        //
        return true;
    }
}

(6)使用分布式名单做IP限制

public class ListController {
    public void hello(Context ctx){
        String ip = IpUtils.getIP(ctx);
        
        if(CloudClient.list().inListOfIp("safelist", ip) == false){
            return;
        }
        
        //业务处理...
    }
}

(7)使用融断器进行限流控制

添加配置(此配置可通过配置服务,动态更新)

solon.cloud.local:
  breaker:
    main: 100 #qps = 100

通过注解,添加埋点

//此处的注解埋点,名称与配置的断路器名称须一一对应
@CloudBreaker("main")
public class BreakerController {
    @Mapping("/breaker")
    public void breaker(){
        
    }
}

(8)使用跟踪服务获取并传播TraceId

通过MDC传递给 slf4j MDC

String traceId = CloudClient.trace().getTraceId();

MDC.put(CloudClient.trace().HEADER_TRACE_ID_NAME(), traceId);

通过Http Header 传给后Http节点

HttpUtils.url("http://x.x.x.x")
  .headerAdd(CloudClient.trace().HEADER_TRACE_ID_NAME(), traceId).get();

等......(Solon Cloud Log 默认支持 CloudClient.trace() 接口)

(9)使用分布式ID,生成有序不重复ID

long log_id = CloudClient.id().generate();

(10)使用分布式锁,对流量或资源进行控制

if(CloudClient.lock().lock("user_"+user_id, 3)){
    //对一个用户尝试3秒的锁;3秒内不充行重复提交
}else{
    //请求太频繁了...
}

(11)使用分布式文件服务

//使用分布式文件,存储用户扩展信息
CloudClient.file().putText("solon/user_"+user_id, "{name:noear}")

(12)使用网关,为同一套接口提供不同的输出

//网关1
@Mapping("/api/rest/**")
@Component
public class ApiGateway extends Gateway {
    @Override
    protected void register() {
        //设定默认render
        before(c -> c.attrSet("@render", "@json"));

        //添加服务
        add("user", UserServiceImpl.class, true);

    }
}

//网关2
@Mapping("/api/rpc/**")
@Component
public class RpcGateway extends Gateway {
    @Override
    protected void register() {
        //设定默认render
        before(c -> c.attrSet("@render", "@type_json"));

        //添加服务(不带mapping的函数;需要 remoting = true,才会加载出来)
        add("user", UserServiceImpl.class, true);
    }
}

三、附:完整的配置

application.yml

solon.app:
  group: demo       #配置服务使用的默认组
  name: helloapp    #发现服务使用的应用名

solon.cloud.water:
  server: water   #water服务地址
  config:
    load: "test.properties" #默认加载一个配置
  discovery:
    enable: true  #设为 false 时,solon.cloud.local.discovery 会生效(一般用于本地调试)

solon.cloud.local:
  discovery:
    service:
      hellorpc:
        - "http://localhost:7112"  #本地服务配置
  breaker:
    main: 100

pom.xml (以下配置大小只有4.7m)

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

<dependencies>
    <!-- RPC 框架 -->
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>solon-rpc</artifactId>
    </dependency>

    <!-- 配置服务、注册与发现服务、日志服务、锁服务、名单服务、跟踪服务... (含 okhttp,redis,memcaced,HikariCP 等...) -->
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>water-solon-plugin</artifactId>
    </dependency>

    <!-- 融断服务 -->
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>sentinel-solon-plugin</artifactId>
    </dependency>

    <!-- 文件服务 -->
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>aliyun-oss-solon-plugin</artifactId>
    </dependency>

    <!-- ID服务 -->
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>snowflake-id-solon-plugin</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.49</version>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <finalName>${project.artifactId}</finalName>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <compilerArgument>-parameters</compilerArgument>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
                <finalName>${project.artifactId}</finalName>
                <appendAssemblyId>false</appendAssemblyId>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>demo.DemoApp</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>

</build>

 

107.在 Vue 3 中使用 OpenLayers 实现视图联动功能 是一个非常强大的 Web 地图渲染库,支持多种地图数据格式和交互操作。在 Vue 3 中,我们可以利用。绑定到真实的 DOM 元素上,我们就可以用它们来初始化 OpenLayers 地图。来封装和管理 OpenLayers 地图的状态,从而更高效地开发地图应用。,即两个地图窗口共享同一个视图(View),从而实现同步缩放、拖动等操作。这可以确保 Vue 组件销毁时,OpenLayers 也正确销毁地图实例。,并且它们会同步缩放和拖动,达到地图联动的效果。这样,无论你拖动哪个地图,另一个都会同步变化。 阅读详情

相关推荐

Spring Boot 构建war 部署到tomcat下无法在Nacos中注册服务

因此,当使用外部容器时,如此处的 Tomcat 来部署项目,AbstractAutoServiceRegistration 就不能监听到容器启动事件了,也就不会尝试向服务注册中心注册当前这个微服务,那么注册就失败了,并且也就没有异常信息了。自定义获取获取外部容器端口的方法, 然后监听应用启动事件,当应用被启动时,获取外部容器启动的端口号,然后将这个 port 设置到 NacosAutoServiceReigistration 中。在启动类同级目录,复制下面代码即可(不需要修改,直接构建war即可)

ttyy1112的专栏 2519

Solon Cloud 分布式服务开发套件清单,感觉受与 Spring Cloud 的不同

Solon Cloud 是一系列的接口标准和配置规范。Solon Cloud 为常见的分布式系统模式提供了一种简单且方便的编程模式,帮助开发人员构建有弹性的、可靠的、协调的应用程序。Solon Cloud 构建于 Solon 之上,可使开发者很容易入手并快速应用于生产中。Solon Cloud 主要由三部份组成:接口定义与配置规范、实现相关接口定义的各种插件,以及通用客户端。 Solon Cloud 非常容易实现与自研框架进行对接。只要实现相关接口定义,按规范配置的一个插件,即是一个 Solon Cloud

向往自由的少年!(我是一个少年!!!) 498

PMF5.0计算

EPA PMF5.0 计算步骤

nuistsy的博客 4543

Solon 框架详解(一)- 快速入门

一、Solon 最近号称小而美的的Solon框架,终于得空,搞了一把,发觉Solon确实好用,那Solon到底是什么,又是怎么好用呢? 什么是Solon? Solon参考过Spring boot 和 Javalin 的设计。吸取了两者的的优点,避开了很多繁重的设计,使其支持http, websocket, socket 三种通讯信号接入。Solon 2M即可支撑起普通的mvc开发了,0.1秒就可以完成启动;相对于言,Spring boot 的一个普通mvc项目,基本上20M起步,5秒左右完成启动。 总体来说

向往自由的少年!(我是一个少年!!!) 1万+

QT编程系列1--QT学习前需知

本周学习了一些QT编程方面的知识,学写了几个程序,这里把记录下来。一方面对前面学习的知识做一个总结,便于以后复习、再学习和应用;另一方面也和大家做个交流,有不足的地方请各位看官多指点。   首先是做一些学习之前的交代:一,学习QT需要哪些基础;二,学习QT有哪些用途,QT较其他的开发工具有哪些特点;三,学习QT的思路。

霜月孤鸟&RTEMS&TinyOS 1115

robomimic实验复现全流程指南:从数据集下载到训练视频生成

本文提供了RoboMimic实验复现的完整实战指南,重点解析了从数据集下载、配置文件定制到模型训练与评估的全流程。以tool_hang任务为例,详细说明了环境准备、数据获取、训练监控及视频生成等关键步骤,并针对常见问题给出了排查方案,帮助研究者高效完成机器人模仿学习实验的闭环验证。

2w3e4r5t6y的博客 1032

Solon & Solon Cloud 1.5.62 发布,轻量级 Java 应用开发框架

Solon 已有120个生态扩展插件,此次更新主要为细节打磨,且对k8s和docker-compose更友好: 1、插件 solon.coud ,事件总线增加支持本地同主题多订阅模式(以支持同服务内,领域隔离的需求) // // 同一个事件主题,支持多个本地订阅。可以做不同业务的领域隔离 // @CloudEvent("demo.user.created") public class EventHandlerDemo1 implements CloudEventHandler { @Overrid

向往自由的少年!(我是一个少年!!!) 650

《Long-CLIP: Unlocking the Long-Text Capability of CLIP》

总的来说,Long-CLIP是一个改进的视觉-语言预训练模型,它通过知识保留的位置上插值和主要成分匹配策略,有效解决了原始CLIP模型在处理长文本输入时的限制。这一模型不仅在长文本图像检索任务中表现出色,而且在零样本图像分类任务中保持了与原始CLIP相当的性能,同时还能以即插即用的方式增强图像生成任务中的长文本处理能力。

Angelina_Jolie的博客 1379

Solon Cloud —— 服务网关

Solon Cloud Gateway 是 一个可 Java 编程的分布式网关,提供了服务路由的能力和各种拦截的支持,只要是 http 服务(不需要关心实现的语言)都可以通过 Solon Cloud Gateway 进行代理转发,代理转发的服务也不一定要注册到服务注册中心。Solon Cloud Gateway 通过配置的方式就可以对服务进行代理转发,在实际的业务使用中通常会与服务发现一起,实现负载均衡,也可以通过编程的方式进一步的定制自己的业务逻辑,实现统一鉴权,限流熔断,灰度发布等功能。

发强-CrazyAirhead的专栏 1338

手把手带你编写miniQMT实盘量化执行程序(3) | 交易系统

本文介绍了miniQMT实盘量化执行系统的核心交易系统代码,重点讲解了其模块化设计和工作流程。系统采用主控类LiveSystem管理交易全流程,包含初始化引擎、交易日判断、交易时段划分(开盘前、盘中、收盘等)、主循环调度和异常处理等核心功能。作者详细解析了系统如何实现365天不间断运行、精准判断交易日、分阶段执行交易策略等功能,并强调系统的稳定性和异常处理机制。

1306

嵌入式Modbus协议面试题及参考答案

Modbus 协议采用主从模式进行通信,这种模式定义明确,便于在工业环境中实现设备之间的有序数据交互。在主从模式中,存在一个主站(Master)和多个从站(Slave)。主站通常是工业控制系统中的上位机,如 PLC、工控机等,它负责发起通信请求,控制整个通信过程。从站则是各种现场设备,如传感器、执行器等,它们接收主站的请求,并根据请求进行相应的操作,然后将结果返回给主站。主站的主要功能包括:发起数据读取或写入请求、控制通信的时序和流程、处理从站返回的数据。

大模型大数据攻城狮的专栏 2042

最新Solon Cloud 分布式开发套件清单与快速概览,Dubbo如何支持本地调用

看完美团、字节、腾讯这三家的一二三面试问题,是不是感觉问的特别多,可能咱们真的又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。开篇有提及我可是足足背下了Java互联网工程师面试1000题,多少还是有点用的呢,换汤不换药,不管面试官怎么问你,抓住本质即可!能读到此处的都是真爱Java互联网工程师面试1000题。

2401_84558452的博客 534

蓝牙学习笔记之HCI协议(一)

目录 协议浅述 HCI简介 HCI协议数据格式 HCI Command Packet HCI ACL Data Packet HCI Synchronous(SCO) Data Packet HCI Event Packet HCI命令和事件介绍 Inquiry command Write Local Name Command Read BD_ADDR Command H...

在云巅的博客 2万+

java开发校招面试,Solon Cloud 分布式开发套件清单与快速概览,你有过迷茫吗

整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。其实面试这一块早在第一个说的25大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

2401_84102915的博客 654

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

本地化模拟分布式能力的神器:Local-Solon-Cloud-Plugin

Local-Solon-Cloud-Plugin是一个本地模拟Solon Cloud功能的插件,旨在简化分布式服务开发。它提供了统一的开发接口,支持在单体服务与分布式服务间无缝切换,降低测试复杂度。插件支持配置服务、服务发现、事件服务、文件服务等核心功能,通过简单配置即可实现本地模拟,无需搭建复杂分布式环境。开发者可以使用相同代码在不同环境运行,本地开发时由插件调度,生产环境可切换为真实分布式实现。该插件特别适合需要灵活部署方式的场景,为微服务开发提供了便捷的本地测试方案。

向往自由的少年!(我是一个少年!!!) 794

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

对标 Spring Boot & Cloud ,轻量框架 Solon 1.4.8 发布

Solon 是一个轻量的Java基础开发框架。强调,克制 + 简洁 + 开放的原则;力求,更小、更快、更自由的体验。支持:RPC、REST API、MVC、Job、Micro service、WebSocket、Socket 等多种开发模式。 Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案。 快速了解Solon的材料: 《Solon 特性简集,相较于 Springboot 有什么区别?》 《Solon Cloud 分布式服务开发套件清单,感觉受与 Spring

weixin_45032957的博客 408

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring Boot &amp; Cloud 轻量替代框架 Solon 1.3.35 发布

Solon 是一个微型的Java开发框架。强调,克制 + 简洁 + 开放的原则;力求,更小、更快、更自由的体验。支持:RPC、REST API、MVC、Micro service、WebSocket、Socket 等多种开发模式。 Solon Cloud 是一系列的接口标准和配置规范。是 Solon 的分布式开发套件方案。 替代?还能说些什么异同之处吗?优惠券网站 m.cps3.cn 《Solon 特性简集,相较于 Springboot 有什么区别?》 《Solon Cloud 分布式服务开发套件清单与快.

weixin_48967543的博客 94

Solon 框架详解(十一)- Solon Cloud 的配置说明

Solon 详解系列文章: Solon 框架详解(一)- 快速入门 Solon 框架详解(二)- Solon的核心 Solon 框架详解(三)- Solon的web开发 Solon 框架详解(四)- Solon的事务传播机制 Solon 框架详解(五)- Solon扩展机制之Solon Plugin Solon 框架详解(六)- Solon的校验框架使用、定制与扩展 Solon 框架详解(七)- Solon Ioc 的注解对比Spring及JSR330 Solon 框架详解(八)- Solon的缓存框架..

weixin_48967543的博客 419

Spring Boot & Cloud 轻量替代框架 Solon 1.3.35 发布

Solon 是一个微型的Java开发框架。强调,克制 + 简洁 + 开放的原则;力求,更小、更快、更自由的体验。支持:RPC、REST API、MVC、Micro service、WebSocket、Socket 等多种开发模式。 Solon Cloud 是一系列的接口标准和配置规范。是 Solon 的分布式开发套件方案。 替代?还能说些什么异同之处吗? 《Solon 特性简集,相较于 Springboot 有什么区别?》 《Solon Cloud 分布式服务开发套件清单与快速概览》 《Solon 的架构笔

向往自由的少年!(我是一个少年!!!) 196

【solon生态】- solon.cloud.micrometer插件使用指南及micrometer详解

如果您的目标是Prometheus、Atlas或Wavefront,则更喜欢这种方法,因为您可以跨维度聚合直方图(通过将一组维度上的桶的值相加),并从直方图中获得可聚合的百分位数。然而,对于不支持基于直方图的服务器端百分位数计算的监控系统,它提供了对百分位数分布的某种程度的了解。(点)字符分隔小写单词。计时器是消耗内存最多的仪表,它们的总占用可能会有很大的变化,这取决于您选择的选项。从一个监视系统到另一个监视系统,还有其他更小的期望差异,例如它们的基本度量单位(特别是时间)的概念和度量标准的规范命名约定。

loserbai的博客 1927

轻量级 Java 基础开发框架,Solon & Solon Cloud 1.5.48 发布

Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 增加 solon.serialization,做为序列化的基础插件 优化 所有Json序列化插件,使之可方便定制类型序列化 public class DemoApp { public static void main(String[] args){ Solon.start(DemoApp.class, args, app->{ initMvcJsonCustom();

向往自由的少年!(我是一个少年!!!) 768

轻量级 Java 基础开发框架,Solon & Solon Cloud 1.5.40 发布

Solon 已有120个生态扩展插件,此次版本以细节打磨为主: 增加 mybatisplus-solon-plugin 插件//至此,Solon 已完成国内外主流的5个ORM框架插件适配 插件 solon.validation,注解 Whitelist、NotBlacklist、Logined 增加可继承支持// //Solon 具体轻量而完整的验证能力及验证扩展机制 // @Logined @Valid public class ApiBaseLogined { } @Controller pu

向往自由的少年!(我是一个少年!!!) 748

Spring Boot & Cloud 轻量替代框架 Solon 1.3.33 发布

Solon 是一个微型的Java开发框架。强调,克制 + 简洁 + 开放的原则;力求,更小、更快、更自由的体验。支持:RPC、REST API、MVC、Micro service、WebSocket、Socket 等多种开发模式。 Solon Cloud 是一系列的接口标准和配置规范。是 Solon 的微服务模式开发套件方案。 替代?还能说些什么异同之处吗? 《Solon 特性简集,相较于 Springboot 有什么区别?》 《Solon Cloud 分布式服务开发套件清单与快速概览》 《Solon 的架

向往自由的少年!(我是一个少年!!!) 267
上一篇: Java开发,内存泄漏不会排查,这下溴大了
下一篇: Spring Security框架中踢人下线技术探索
Javaesandyou
博客等级 码龄5年 742粉丝 563原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值