【问题标题】:How to apply concurrent processing on worker verticles using vert.x如何使用 vert.x 对工人 Verticle 应用并发处理
【发布时间】:2018-11-30 15:45:48
【问题描述】:

提到这一点的 Vert.x 文档 : 默认情况下,worker verticle 实例在任何时候都只会被一个线程执行(它不是并发的)。

这意味着如果我有 20 个实例的 Verticle,例如:

 vertx.deployVerticle(PotEventConsumerVerticle.class.getName(),
                new DeploymentOptions()
                        .setWorker(true)
                        .setInstances(20)

我将无法同时处理请求?

我怎样才能并发这个处理? 我看到 Multi-threaded worker verticles 可以是一个选项,但 Vert.x 文档提到要避免使用此选项。

【问题讨论】:

  • 使用多线程worker verticles相当于使用executeBlockingordered=false(任务不排队,可以并发执行,如果共享状态,就会并发访问这个状态)跨度>

标签: java vert.x vertx-verticle vertxoptions


【解决方案1】:

如果您部署 20 个工作节点实例,则最大并发数将为 20。

每个实例将一个接一个地处理事件,但 20 个实例总共可以并行处理 20 个事件。

【讨论】:

    猜你喜欢
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    相关资源
    最近更新 更多