Tibco RV发送和监听参数混淆

时间:2011-12-07 22:09:31

标签: messaging tibco tibco-rv

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

因此,从概念上讲,每台计算机上只运行一个守护程序。所以当使用tibrvsend时:

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

这是否意味着我使用端口2323在我的localhost上通过守护进程myDaemon(可以在远程)发送消息到网络comeIPAddress

使用tibrvlisten时:

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

这是否意味着我正在使用任何可用端口(我的localhost上的任何可用守护程序)监听来自发布到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"

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

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

2 个答案:

答案 0 :(得分:6)

  

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

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

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

示例:如果执行tibrvlisten -daemon tcp:8000,您将注意到计算机上的新进程(Windows上的rvd.exe,Unix上的rvd)正在侦听端口8000。

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

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

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

答案 1 :(得分:1)

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

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

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