vertx架构

作者: 沧行 | 来源:发表于2016-12-05 00:56 被阅读0次

对于部署标准模式verticle,vertx的架构如下:

standard verticle架构.png

对于部署worker模式verticle,vertx的架构如下:

worker verticle架构.png
  • vertx的Acceptor EventloopGroup只有1个Acceptor Eventloop,即通过1个线程监听所有客户端的连接,连接建立后交给VertxEventLoopGroup处理。
  • vertx可以把server(HttpServer,TcpServer,UdpServer)部署在多个verticle中,每个verticle共享这个server,server的连接监听在Acceptor Eventloop中,但读写事件的触发和处理都在VertxEventLoopGroup的eventloop中执行。
  • 每部署1个verticle,都会为该verticle绑定1个event loop,这个eventloop是从VertxEventLoopGroup中按顺序取出的1个,该verticle中的io读写都在此eventloop中执行。
  • 每部署1个verticle,都会为该verticle创建1个执行context(每个context都对应1个线程或执行器),传入的业务request handler都在此context对应的线程或执行器中执行。
  • 对于标准模式的verticle,context对应的线程就是该verticle绑定的event loop的线程;对于worker模式的verticle,context对应的是worker线程池的执行器。因此,对于标准模式verticle,编解码handler、request handler都在绑定的eventloop中执行,但excuteBlocking方法会在worker线程池执行;对于worker模式verticle,编解码handler会在绑定的eventloop中执行,但request handler会在worker线程池的顺序执行器中执行。(注:request handler就是创建server时设置的业务处理handler)
  • 当部署的verticle数量小于VertxEventLoopGroup的eventloop数量时,会造成部分event loop完全空闲;当部署的verticle数量大于VertxEventLoopGroup的eventloop数量时,多个verticle可能绑定同一个eventloop。

相关文章

  • vertx架构

    对于部署标准模式verticle,vertx的架构如下: 对于部署worker模式verticle,vertx的架...

  • Vertx

    背景 对于vertx框架,最基础的组件就是vertx,几乎所有功能都是通过vertx实现。 vertx聚合了网络通...

  • Vertx

    Vertx

  • 因为使用了Vertx CodeGen 导致lombok无法正常工

    因为使用了Vertx CodeGen 导致lombok无法正常工作解决方案:放弃使用 Vertx CodeGen

  • Context

    背景 在vertx框架中,核心概念是verticle,通过vertx可以部署多个verticle,且verticl...

  • vertx实践二——基于EventBus的交互demo

    1.代码展示 第一个vertx服务启动类 第一个vertx服务verticle 第二个vertx服务启动类 第二个...

  • vertx

    Vert.x保证同一个普通Verticle(也就是EventLoop Verticle,非Worker Verti...

  • Verticle

    背景 verticle相当于1个执行模块,是vertx的部署单元。 vertx可以部署多个verticle,且ve...

  • websocket开发中遇到的伪技术问题

    vertx是一个轻量,灵活的后端框架,最近在使用vertx时使用了它的websocket,对于websocket相...

  • Kotlin整合Vertx开发Web应用

    今天我们尝试Kotlin整合Vertx,并决定建立一个非常简单的Web应用程序,使用Kotlin和Vertx作为编...

网友评论

    本文标题:vertx架构

    本文链接:https://www.haomeiwen.com/subject/wslkmttx.html