我有一个很快的问题——有人试过同时运行这两个版本吗。x2和垂直。集群中的x 3应用程序,通过EventBus进行通信?
理论上这应该是可能的,但有人做过吗?;)
干杯,米莎
我在集群中尝试了Vert. x2和Vert. x3 EventBus。但不是同时。Vert. x2需要jdk 1.7,Vert. x3需要jdk 1.8或更高版本。我试图在jdk 1.8中运行Vert. x2,但没有成功。
因此,我认为运行两个垂直。x2和Vert。群集中不可能有x3应用程序。
我非常感激这个问题,因为当我决定升级我的2。x应用程序的最新版本的Vert。x、 即3。十、
我猜你暴露了这样一个问题,因为节点间/模块间通信协议至少应该在某种程度上兼容,EventBus
已经是典型Vert中的模块间通信通道。x应用程序,即使是在不同的模块版本之间,也会抽象出消息传输。
同时,我不知道有哪个开源产品能在主要版本之间提供API兼容性,因为主要版本通常表示“API会改变”。维特。x应该是无一例外的,毫无疑问,不同版本开发的垂直体/模块之间的通信可能会失败,因此即使不值得测试,也应该避免这种方法。
对于3.3版本Vert。x正在向2添加一个新模块。x系列。这个新组件是mod-eventbus3-bridge-client。
我们的想法是,您可以将此模块部署到现有的2。x应用程序,它将连接eventbus 2。x和eventbus 3。十、
您可以在以下位置查看代码:https://github.com/vert-x/mod-eventbus3-bridge-client/tree/initial-work
所以在Vert。x3您需要执行以下操作:
public class Example {
public static void main(String[] args) {
Vertx vertx = Vertx.vertx();
TcpEventBusBridge bridge = TcpEventBusBridge.create(
vertx,
new BridgeOptions()
.addInboundPermitted(new PermittedOptions())
.addOutboundPermitted(new PermittedOptions()));
bridge.listen(7000, res -> {
// example: vertx3 send a message to vertx2
vertx.eventBus().send("send3", new JsonObject().put("msg", "hello send"));
});
}
}
在垂直方向。x2你会做相反的事情:
public class Example extends Verticle {
@Override
public void start() {
final EventBus3 eb = new EventBus3(vertx, getContainer().config(), new Handler<Void>() {
@Override
public void handle(Void done) {
// case #1 vertx3 send a message to vertx2
eb.registerHandler("send3", new Handler<BridgeMessage>() {
@Override
public void handle(BridgeMessage msg) {
System.out.println(msg.body());
}
});
}
});
eb.exceptionHandler(new Handler<Throwable>() {
@Override
public void handle(Throwable throwable) {
throwable.printStackTrace();
}
});
}
}
Returns an angle between two or three points Parameters x1numberx coord of first point y1numbery coord of first point x2numberx coord of second point y2numbery coord of second point x3numberx coord of
Vert. x和kubernetes携手并进。如果我使用istio作为服务网格,Zipkin的请求跟踪是否能够跟踪通过事件总线完成的通信? 客户- istio是否能够跟踪通过eventbus完成的请求? 跟踪页面上说,头需要通过http或grpc进行传播,但eventbus通过tcp发送消息,这是否意味着istio将无法跟踪请求并显示可视化工具[瀑布图和所有服务的可视化] Vertx主页 Even
让我们跳进 API 获取事件总线 你获取到事件总线的引用,如下所示: EventBus eb = vertx.eventBus(); 还有每个 Vert.x 实例事件总线的单个实例。 注册处理程序 这个最简单的方法来注册一个处理程序用consumer。下面是一个示例: EventBus eb = vertx.eventBus(); eb.consumer("news.uk.sport", mess
问题内容: 我正在考虑AJAX应用程序必须轮询轮询更新有多大限制,而最理想的是javascript能够建立与服务器的真正双向连接。我想知道是否存在将javascript与可以建立tcp连接的浏览器插件集成的方法,以便可以将数据传入和传出浏览器插件。 问题答案: 这是具有类似方法的实现: 套接字 它使用Java Applet,并将其API桥接到JavaScript,有趣的是… 这里是另一个: 套接字
注:本节未经校验,如有问题欢迎提issue 最初设想是为了提供一种向多个actor群发消息的方法,之后EventBus被一般化为一组实现一个简单接口的可组合的特质: /** * Attempts to register the subscriber to the specified Classifier * @return true if successful and false if not
我正在尝试通过eventbus使用SSL。为了测试失败案例,我尝试通过传递一些不同的密钥库,从同一集群中的另一个垂直站点向eventbus发送消息。 我在控制台上遇到以下异常,但它没有使replyHandler失败,因此我的代码无法检测到SSL异常。 我的代码: 控制台上的异常: 但是处理程序在30秒后超时失败。地址:__vertx.reply.8419a431-d633-4ba8-a12e-c4