阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

QBit开发微服务

163次阅读
没有评论

共计 1845 个字符,预计需要花费 5 分钟才能阅读完成。

一、QBit 库介绍

QBit 是一个开源的响应式开发库,用于构建微服务,支持 JSON、HTTP、WebSocket 和 REST。QBit 使用响应式编程建立弹性 REST、基于云的 WebSocket、Web 服务。QBit 是面向移动和云计算的 SOA 演进。QBit 是一个很小的、轻量级的微服务开发库,提供了对服务发现、服务健康、响应式的状态服务、类型事件、以及 Java 惯用的反应式编程的支持。
QBit 非常小且速度极快。

二、Gradle 构建文件

group 'qbit-ex'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'application'

mainClassName = "com.mammatustech.HelloWorldService"

compileJava {sourceCompatibility = 1.8}

repositories {mavenCentral()
    mavenLocal()}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    compile group: 'io.advantageous.qbit', name: 'qbit-admin', 
                                                 version: '0.9.0-M1'
    compile group: 'io.advantageous.qbit', name: 'qbit-vertx', 
                                                 version: '0.9.0-M1'

}

目前 QBit 微服务库最新版为 0.9.0.M2 版。

三、用 QBit 写示例代码

package com.mammatustech;

import io.advantageous.qbit.admin.ManagedServiceBuilder;
import io.advantageous.qbit.annotation.RequestMapping;

@RequestMapping("/hello")
public class HelloWorldService {@RequestMapping("/hello")
    public String hello() {return "hello" + System.currentTimeMillis();
    }

    public static void main(final String... args) {
        final ManagedServiceBuilder managedServiceBuilder =
                ManagedServiceBuilder.managedServiceBuilder()
                                     .setRootURI("/root");

        /* Start the service. */
        managedServiceBuilder.addEndpointService(new HelloWorldService())
                .getEndpointServerBuilder()
                .build().startServer();

    }
}

四、运行代码

# gradle run

五、用 curl 测试

$ curl http://localhost:8080/root/hello/hello
"hello 1440742489358"

六、用 wrk 测试

wrk 是一个开源的 HTTP 基准测试工具。当 wrk 在单个多核 CPU 上运行时,能够产生显著的负载,它结合了多线程设计和可扩展的事件通知系统(如 epoll 和 kqueue)。
wrk 还提供了一个可选的 LuaJIT 脚本,可用于执行 HTTP 请求的产生、响应的处理,以及自定义报表。
主页:https://github.com/wg/wrk

$ wrk -d 5s -t 2 -c 1000 http://localhost:8080/root/hello/hello
Running 5s test @ http://localhost:8080/root/hello/hello
  2 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    17.65ms   22.96ms 427.36ms   97.57%
    Req/Sec    33.33k     7.75k   43.10k    75.00%
  319154 requests in 5.06s, 28.00MB read
Requests/sec:  63083.97
Transfer/sec:      5.53MB

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-09/123343.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计1845字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中