博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QBit开发微服务
阅读量:6156 次
发布时间:2019-06-21

本文共 2314 字,大约阅读时间需要 7 分钟。

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/48084757

QBit开发微服务

作者:chszs,版权所有,未经同意,不得转载。博主主页:

一、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请求的产生、响应的处理,以及自定义报表。
主页:

$ wrk -d 5s -t 2 -c 1000 http://localhost:8080/root/hello/helloRunning 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 readRequests/sec:  63083.97Transfer/sec:      5.53MB
你可能感兴趣的文章
简洁优雅地实现夜间模式
查看>>
react学习总结
查看>>
在soapui上踩过的坑
查看>>
MySQL的字符集和字符编码笔记
查看>>
ntpd同步时间
查看>>
must implement java.io.Serializable hessian
查看>>
Microsoft Licenses Flash Lite for Windows Mobile Users
查看>>
HDOJ 2020 绝对值排序
查看>>
HDOJ/HDU 2560 Buildings(嗯~水题)
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
[20170628]12C ORA-54032.txt
查看>>
linux运维人员的成功面试总结案例分享
查看>>
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>