嗨,我是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"
应该完全没问题?(否则它意味着生产者需要知道彼此的端口号以避免冲突)
如果我对这些概念完全搞砸了,你能用例子解释一下吗?
因此,从概念上讲,每台机器上只运行一个守护程序
您可以在一台计算机上运行多个守护程序,但这不是必需的.您可以通过更改服务和网络参数来访问单个守护程序上的多个逻辑总线.
守护程序是在您的计算机上运行以处理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).