Vertx:为什么没有聚类垂直?

时间:2016-08-23 15:29:49

标签: java networking vert.x

我正在弄乱我的两个Verticle,我想以群集模式开始。

以下是我的两个Verticle的开始方法:

First Verticle:

public static void main(String[] args) {
    VertxOptions options = new VertxOptions();

    options.setClustered(true);
    options.setClusterManager(new HazelcastClusterManager());

    Vertx.clusteredVertx(options, res -> {
        Vertx vertx = res.result();
        vertx.deployVerticle(new WalzenSchnittBlMock());

    });

}

第二个Verticle:

public void start() {
    VertxOptions options = new VertxOptions();

    Vertx.clusteredVertx(options, res -> {
        vertx = res.result();
        vertx.deployVerticle(serviceVerticle, this::completeRegister);
    });
}

这两个Verticle位于不同的机器上,但它们并没有“看到”彼此,虽然有聚集模式....有什么问题......我错过了什么?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

我有两台机器,每台都有四个网卡 - 而vertx似乎选择了错误的机器。所以我被迫设置了vertx应该使用的Ip-adress。结果看起来像Ipadress是jar文件的参数:

VertxOptions options = new VertxOptions();

    Config config = new Config();
    NetworkConfig networkConfig = config.getNetworkConfig();

    networkConfig.getInterfaces().setEnabled(true).addInterface(args[0]);
    options.setClusterManager(new HazelcastClusterManager(config));
    options.setClustered(true);
    options.setClusterHost(args[0]);

    Vertx.clusteredVertx(options, res -> {
        Vertx vertx = res.result();
        vertx.deployVerticle(new Receiver());

    });