5

嗨,我是 Tibco RV 的新手。在阅读了 Tibco Rendezvous Concept 之后,我仍然对传输参数感到困惑:服务、网络、守护进程。

所以从概念上讲,每台机器上只运行一个守护进程。所以在使用 tibrvsend 时:

tibrvsend -service 2323 -network "someIPAddress" -daemon "myDaemon" MESSAGE

这是否意味着我正在使用本地主机上的端口 2323 通过守护程序myDaemon(可能在远程)向网络发送消息comeIPAddress

使用 tibrvlisten 时:

tibrvListen -service 2323 -network "someIPAddress" -daemon "myDaemon"

这是否意味着我正在使用任何可用端口、本地主机上的任何可用守护程序来监听来自myDaemon“发布到someIPAddress网络”的端口 2323 的消息?

另一个问题是,《Tibco RV Concept》一书中提到,同一个服务不能绑定到两个网络。它是否仅适用于生产者机器(因为我们没有为侦听器机器指定端口)?所以如果我们这样做会发生错误:

tibrvsend -service 2323 -network "net1" MESSAGE

tibrvsend -service 2323 -network "net2" MESSAGE

同时(连续做应该没问题吧?)

但对于听众:

tibrvlisten -service 2323 -network "net1"

tibrvlisten -service 2323 -network "net2"

应该没问题?(否则意味着生产者需要知道彼此的端口号以避免冲突)

如果我完全搞砸了这些概念,你能用例子解释一下吗?

4

2 回答 2

8

所以从概念上讲,每台机器上只运行一个守护进程

您可以在一台机器上运行多个守护程序,但这不是必需的。您可以通过改变服务和网络参数来访问单个守护程序上的多个逻辑总线。

守护进程是在您的机器上运行以处理 Rendezvous 消息传递的实际进程。您的客户端将使用 daemon 参数连接到此守护程序。例如,默认值tcp:7500将在端口 7500 上访问本地机器上的守护程序,而值tcp:server.domain.com:8000将在端口 8000 上访问远程机器 (server.domain.com) 上的守护程序。

示例:如果您执行tibrvlisten -daemon tcp:8000,您会注意到在侦听端口 8000 的机器上启动了一个新进程(Windows 上的 rvd.exe,Unix 上的 rvd)。

服务和网络参数又是多播参数(参见http://en.wikipedia.org/wiki/Multicast)。为简化起见,您可以将这些视为相当抽象的值,具有两个重要方面:

  • 消息的生产者和消费者应配置为使用相同的网络/服务对
  • 您不应该为多个网络重复使用服务,因为这种冲突会导致问题。

关于 Rendezvous 要记住的另一件事是多播消息由同一子网上的所有机器接收。如果您需要将消息发送到其他子网,则应考虑使用 Rendezvous Routing Daemons (RVRD)。

于 2012-01-09T20:36:14.050 回答
1

服务:是一个udp端口,基于udp协议的TRDP(Tibco Reliable Data-gram Protocol)。

守护进程:RVD 进程使用的 tcp 端口。应用程序通过 TCP 端口与 RVD 进程通信。RVD 使用 TCP 端口接收消息并通过 udp 端口​​发送出去

network : E类IP地址,组播IP地址

于 2020-12-22T01:36:05.533 回答