指南

思追(shaco)大约 2 分钟

初衷

创建本项目的初衷是因为我们继续一个资源占有少,效率高的异步编程框架,经过一些选型后,Vertx 是我们最终敲定的,但是 Vertx 提供的编程方式非常的原始,在使用起构建应用时会有很大的心智负担,使得项目后续维护的成本增高,于是便诞生了 Mirage,Mirage 基于 Vertx 使响应式编程变得更简单。

Mirage 名称的来由

Mirage 是 海市蜃楼 的英文翻译,为什么起这个名称呢?是因为 Vertx 的异步编程模型通过 Future 进行串联,代码像是在一个管道中根据绑定的顺序挨个执行的,这样的模式与 海市蜃楼 折射原理非常相似,故得此名称。

设计目标

Mirage 基于 Vertx 使异步编程变得更简单,为 Vertx 提供构建大型应用的基础框架,针对不同组件基于 约定大于配置的方式进行集成,提供简单的使用方式

相关信息

如果你对 异步编程,Vertx 还不了解,那么我们建议你先看一下这篇小白入门教程文档,了解一下相关的基础知识

安装

需要的最低JDK依赖为 JDK 11

在你的pom中添加以下依赖管理配置

<properties>
     <!-- 环境设置 -->
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     <java.version>11</java.version>
</properties>

<!-- mirage 的依赖管理 -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>cc.shacocloud</groupId>
            <artifactId>mirage-dependencies</artifactId>
            <version>${mirage.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

    <build>
        <plugins>
            <!-- Compiler 插件, 设定 JDK 版本 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <showWarnings>true</showWarnings>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

如果你需要使用 SNAPSHOT 相关版本,请使用以下存储库(SNAPSHOT 版本不提交到中央库):

<repositories>
    <repository>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
        </snapshots>
        <id>ossrh</id>
        <name>ossrh</name>
        <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
        </snapshots>
        <id>ossrh-snapshots</id>
        <name>ossrh-snapshots</name>
        <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
    </pluginRepository>
</pluginRepositories>

稳定版本:https://repo1.maven.org/maven2/cc/shacocloud/mirage/open in new window

快照版本:https://s01.oss.sonatype.org/content/repositories/snapshots/cc/shacocloud/mirage/open in new window

版本说明

版本形式为 A.b.x,A表示的大版本,b表示的是小版本,x表示的是小版本功能修复版本。

大版本通常是大功能迭代时递增,小版本通常是在目前大功能范围内新增功能点时递增。

快速启动

在你的pom中添加以下依赖

<properties>
    <!-- kotlin 环境设置 -->
    <kotlin.compiler.incremental>true</kotlin.compiler.incremental>
    <kotlin.compiler.jvmTarget>11</kotlin.compiler.jvmTarget>
    <kotlin.version>1.7.22</kotlin.version>
</properties>

<dependencies>
    <dependency>
        <groupId>cc.shacocloud</groupId>
        <artifactId>mirage-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>cc.shacocloud</groupId>
        <artifactId>mirage-kotlin</artifactId>
    </dependency>
</dependencies>

快速启动代码

@MirageBootApplication
class Application

fun main(args: Array<String>) {
    MirageApplication.run(Application::class.java, *args)
}