1.3.2、事件总线

Verticles构成Vert.x中代码部署的技术单位。 Vert.x事件总线是不同Verticle之间通过异步消息传递进行通信的主要工具。例如假设我们有一个用于处理HTTP请求的Verticle以及用于管理对数据库的访问的Verticle。 事件总线允许HTTP Verticle向执行SQL查询的数据库Verticle发送请求,并响应HTTP Verticle:

事件总线允许传递任何类型的数据,然而JSON是首选的交换格式,因为它允许使用不同语言编写的Verticle进行通信,更一般地,JSON是一种倍受欢迎的通用半结构化数据封装文本格式。

消息可以发送到接收自由格式字符串的目的地。事件总线支持以下通信模式:

1、点对点消息;

2、请求响应消息;

3、发布/订阅广播消息。

事件总线允许Verticle透明地进行通信,而不仅仅是在同一个JVM进程中:

1、当网络集群激活时,事件总线是分布式的,以便可以向在其他应用程序节点上运行的Verticle发送消息 ;

2、事件总线可以通过简单的TCP协议访问,以促进与第三方应用程序的通信;

3、事件总线也可以暴露在通用消息桥上 ( 例如: AMQP,Stomp );

4、SockJS网桥允许Web应用程序通过事件总线进行无缝通信 ,运行在浏览器中的JavaScript可以通过事件总线接收和发布消息,就像任何Verticle一样。

results matching ""

    No results matching ""