QBit是强大的Java微服务库包

15-03-04 banq
                   

QBit是微服务的队列库包,它类似于Akka和Spring的Reactor,但QBit只是库包而不是平台(轻量),QBit能够将服务放在一个队列Queue之后,你能直接使用QBit队列。QBit服务能以WebSocket, HTTP, HTTP pipeline暴露服务,在QBit中的一个服务是一个Java类,它的方法是在服务队列后面执行。

QBit的线程模型属于apartment model threading,类似于Actor模型,更好地描述应该是一种活动对象Active Objects。QBit并没有使用Disruptor(banq注:Spring Reactor使用),它使用的是通常Java队列,虽然如此,QBit能达到每秒100million ping pong 的速度。

QBit 采取类似赛车原理能够快速执行服务代码,它的Event bus案例能很好解释,这个事件总线模型是基于Vertx事件总线,内置http服务器是Jetty。

项目:Introduction to QBit—A Powerful Microservice Libra

代码案例:

@RequestMapping("/todo-service")
public class TodoService {

    @RequestMapping("/todo/count")
    public int size() {...

    @RequestMapping("/todo/")
    public List<TodoItem> list() {...
<p>

带有URI参数的服务:

 @RequestMapping("/adder-service")
    public class AdderService {

        @RequestMapping("/add/{0}/{1}")
        public int add(@PathVariable int a, @PathVariable int b) {...
    }
<p>

                   

1