跳到主要内容

消息VPN

消息VPN是PubSub+事件代理上一个受管理的对象,它允许隔离主题空间和客户端。消息VPN还对连接到事件代理网络的客户端进行分组,使得在特定组内发布的消息只对该组的客户端可见。

PubSub+ Cloud事件代理服务只有一个消息VPN。因为PubSub+ Cloud允许您快速创建多个事件代理服务,您可以使用不同的服务来隔离主题和客户端,而不是在同一个软件事件代理或设备上使用多个消息VPN。

通过消息VPN发布和订阅

消息VPN可以定义哪些客户端可以从哪些发布者那里接收消息。

不同消息VPN中的客户端可以订阅相同的主题,不同消息VPN中的客户端也可以向匹配这些客户端订阅的主题发布消息。然而,根据消息VPN成员资格,只有连接到与特定发布者相同消息VPN的客户端才会从该发布者那里接收消息。

img

在这个例子中,所有的订阅客户端都订阅了主题quotes/equities/NA。发布者A、订阅者1和订阅者2都连接到了同一个消息VPN。发布者B、订阅者3和订阅者4连接到了同一个事件代理上的另一个消息VPN。由于客户端连接到了不同的消息VPN,当发布者A向主题quotes/equities/NA发布消息时,消息只被传递给订阅者1和订阅者2。类似地,如果发布者B向主题quotes/equities/NA发布消息,消息只被传递给订阅者3和订阅者4。

要了解更多信息,请参见消息VPN

消息VPN桥接

如果您需要允许发布的消息跨越消息VPN边界,您可以配置消息VPN桥接来链接两个消息VPN,使得发布到一个消息VPN的消息如果匹配桥接设置的主题订阅,也会被传递到链接的消息VPN。桥接可以是单向的(消息只在一个方向上通过桥接传递)或双向的(消息在两个方向上通过桥接传递)。消息VPN桥接在以下情况下很有用:

  • 链接两个名称不同的消息VPN,以使直接或保证传递的消息从一消息VPN传递到另一消息VPN。链接的消息VPN可以位于同一个事件代理上,也可以位于两个单独的事件代理上。
  • 链接两个名称相同的消息VPN在两个不同的事件代理上,以使直接或保证传递的消息从一消息VPN传递到另一消息VPN。

img

更多信息,请参见消息VPN桥接


连接到消息VPN

每个客户端连接都与单个消息VPN关联。当客户端向事件代理发送初始登录连接请求时,客户端通常包括一个消息VPN名称参数。然后事件代理验证指定的消息VPN客户端用户名是否已配置并被授权连接。对于每个被拒绝的连接尝试,全局的、每个消息VPN的和每个客户端的统计数据都会增加。

客户端连接一旦通过初始登录请求建立,就不能更改其分配的消息VPN,除非先从事件代理断开连接。

默认消息VPN

每个软件事件代理和设备都有一个名为default的消息VPN。它不能被删除,但可以像事件代理上的任何其他消息VPN对象一样进行配置。如果客户端没有提供要连接的消息VPN名称,那么默认会自动分配给客户端。

PubSub+ Cloud事件代理服务也有一个默认的消息VPN,其名称基于事件代理服务名称,使用全部小写字母并将空格替换为连字符。例如,名为“My Service”的事件代理服务将有一个名为“my-service”的消息VPN。您可以重命名事件代理服务的消息VPN。


现在我们已经介绍了事件代理如何将事件数据从发布应用程序传递给想要了解它的客户端的基础知识,了解更多关于事件网格如何为企业扩展此功能的信息,请参见理解事件网格