2016-10-21 8 views
0

При использовании Vert.x вы должны соблюдать осторожность при управлении потоками. Я не хочу внедрять совершенно новый клиент Orbit для Vert.x. Каков подходящий способ связывания кластера Vert.x с кластером Orbit? Это хорошая идея использовать Vert.x tcp eventbus мост с кластером Orbit?Каков подходящий способ связывания кластера Vert.x с кластером Orbit?

+0

Что такое usecase? У вас есть существующая кодовая база Orbit, которую вы хотите интегрировать с Vertx? –

+0

Нет существующей кодовой базы Орбиты. Многие устройства будут подключаться к vert.x, и каждое устройство будет иметь свои собственные вершины (и состояние). Эти устройства будут подписываться на некоторые фоновые службы, которые не всегда работают. Поэтому я считаю, что виртуальная актерская модель лучше подходит для моего сценария, а не для управления жизненным циклом и распределением актеров. Verticle to Orbit Virtual Actor - это то, что мне нужно достичь надлежащим образом. Я подозреваю, что использование клиента Orbit в вертице будет блокировать потоки vert.x. Я не эксперт в этом техническом стеке, но я очень заинтересован в обучении. Спасибо за любую помощь. –

+0

Но для этого вы можете использовать кластер Vertx Hazelcast. Отправляйте сообщения через EventBus своим рабочим вертикалям (фоновые службы, как вы их называете). –

ответ

1

Здесь нет лучшего ответа. Оба варианта имеют плюсы и минусы.

Использование моста tcp eventbus даст вам самую быструю интеграцию между различными системами, однако имеет обратную сторону введение единой точки отказа. Скажите, что узел, который запускает мост, разбивается или сеть разбивается, вы будете изолированы.

Альтернативно (и немного сложнее) было бы реализовать кластерный менеджер на основе орбиты. Нужно начать с изучения интерфейса ClusterManager и оттуда обеспечить реализацию орбиты. Поскольку весь диспетчер кластеров является SPI во время выполнения (в стороне vertx), можно просто заменить банку реализации, и никакое изменение кода не потребуется. Для полной документации по этому вопросу см. here. Недостатком является то, что это будет сложнее достичь, но у вас будет лучшая интеграция.