What is Rendezvous
It is a framework/mechanism to integrate different applications running on distributed network on heterogeneous platforms.
What Rendezvous does?
This is Proprietary to TIBCO, and all TIBCO applications like Admin, Hawk, BW and other apps will communicate using Rendezvous, which is using Network UDP protocol. When a machine is being added to TIBCO domain, it creates two RVD files, one will be used to do the services (deploy,manage) etc and another will be used to get the status.
Domain and machine are communicating to each other using RVD, most of the cases end machines in domain are being part of same subnet, what if a machine is being part of different subnets? there are two solutions.
1. Multi casting
It is software mechanism for sending and delivering messages.
protocol used by rv.
UDP(Universal Datagram Protocal)
What is difference between synchronous and asynchronous communication
Synchronous communication is time driven and asynchronous is event driven. Synchronous communication expects reply or acknowledgement back and in asynchronous communication doesn’t expect any results of its communication right away. In messaging perspective request/reply messaging is synchronous communication and publish/subscribe is asynchronous communication.
What is the functionality of RV daemon
It’s a background process; RV enabled programs (programs which use RV api) depend on rvd for reliable and efficient network communication.
The rvd completes the pathway between rendezvous program processes across the network. It sends information into the network receives information from the network and filters subject addressed messages.
What are the various parameters in Network component and what do each one indicate
Service, Network and Daemon
Service parameter instructs the rvd to use UDP or PGM services whenever it conveys messages on this transport. Network parameter instructs the rvd to use a particular network for communication.
Daemon parameter indicates to which rvd the program has to connect
Explain Certified messaging – registration process steps and confirmation Process
Certified messaging offers greater certainty of delivery.-even when the processes and their network connections are unstable.
REGISTRATION.DISCOVERY RESGISTRATION.REQUEST REGISTRATION.CERTIFIED Certified delivery agreement) DELIVERY.CONFIRMED DELIVERY.COMPLETE
Difference between Reliable delivery and Certified delivery?
Time Limit: Contains outbound messages for 60 seconds
Network Traffic: Minimal
File Storage: No file storage
Ledger: The certified delivery library records outbound messages in a ledger, either within the program process storage, or in file storage.
Time Limit: The certified delivery library retains outbound messages in the ledger until either delivery complete or the time limit (set by the program) expires.
Network Traffic: Additional network overhead to confirm delivery of each certified message.
File Storage: Optional file-based ledgers consume file storage for each message until delivery is complete
(or the time limit expires).
Explain Load balancing in Rendezvous, What are the various parameters
In a producer/subscriber scenario when producer is send messages faster than subscriber can consume, messages will be queued up with consumer and may be lost. To address this situation we can balance the load of the consumer by clones of the consumer program and balancing the load among the consumer instances. This is load balancing.Programs use distributed queues for certified delivery to a group of servers, in order to balance the load among the servers. Parameters Scheduler weight Heartbeat Interval Scheduler Activation Interval
Explain fault tolerance in Rendezvous
Fault Tolerance in a network environment is characterized by rapid recovery from failures such as process termination, hardware failure and network disconnect. Rendezvous provides a mechanism to achieve the fault tolerance among the RV processes.
What is ledger file used in RV for?
CM Transport keeps Ledger file to record information about every unresolved outbound certified message.
How can U establish point-point communication in RV?
Can be established using RPTP protocol over a UDP channel
What will happen when limit of a queue exceeds(how the event objects will be removed from a Queue)?
Sends an advisory QUEUE.LIMIT_EXCEEDED
Queue dispatch calls remove the event objects at the head of a queue, and run its callback function.
Callback function is a program code which responds to events-processing inbound messages.
What are the limit policies of a Queue in RV?
Discard none, discard first, discard last, discard new.
What is the advisory message thrown by RV when the maximum limit of a queue exceeds?
Is message loss possible in RV? When is it possible?
Yes, in slow consume and fast producer scenario message lost will be possible.
How many types of advisory messages are there in RV
System Advisory, RVCM Advisory, Fault- tolerance Advisory.
How to handle slow consumers when publisher is publishing rapidly?
Scenario: A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (Underlying communication is RV reliable)
Use a dispatcher - increase process instances to avoid overflow. Implement load balancing
How can u implement security in RV?
Using SSL Protocol. Can be attained at 3 layers –between rvd and services, in rvd, and between rvrd.
What are the scheduler parameters in DQ?
Weight, Heart beat interval, Activation Interval.
If rvd is down and a program has to send a message, how it sends
Creating a transport object in the program invokes new rvd process.
What is the difference between JMS messaging and RV messaging?
RV messaging is a de-centralizing messaging/JMS centralized messaging
Explain rv messaging, how does it work?
RV messaging provides creating messages in a universal format assign a subject name to the message and publish the message on to the network. Messages will travel over the network and reaches all the nodes in the network. RV provides RV enables subscribers to capture the message of interest and process it.
Explain how do you set up RVCMDQ? And how does it work?
A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (Underlying communication is RV reliable)
hint ans: slow response advisory is thrown, oldest messages discarded depending on the destination settings.
A process group is on RVCMDQ, can that be made both load-balanced and fault-tolerant?
Hint: no, they are mutually exclusive semantics.
What is the main problem/issue with load balancing as in RVCMDQ? What are possible Scenarios. when this occurs?
Duplication occurs/non-completion of assigned task
1. if the worker is slow, scheduler might re-assign the task to another worker resulting in duplication.
2. Scheduler fails and the new scheduler reassigns incomplete tasks, resulting in duplication.
Also non-completion of tasks can occur if a worker has complete time=0 and has accepted the task never to return.
What is RVRD for? How do we configure and use it?
RVRD is for routing messages published on a subject to machines on another subnet. There has to be one RVRD for each subnet, and an RVRD pair installed one on each subnet.
How do you do load balancing for ADB adapters?
Use RVCMDQ to run more than one instance of an adapter. Also you can specify batch processing of records (batch commit, instead of committing each record individually). Also you can increase thread count (but that going to help only if you increase it from 4-8)
Situations were we use CM?
a) producer needs compulsory ack of the message.
b) consumer cannot compromise on loosing messages.
Situations were we can not use CM?
high data rate b’cos CM occupies most of the band width.
What is rvcache?
The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached Data to new listeners. Data stored in rvcache never expires. It remains in the cache until superseded or augmented by data from a new message on the same subject.rvcache stores the data in program memory and in a disk file.
What is rvtransaction?
When a group of messages are sent, even if one message is not delivered, all the messages are rolled back.
RVTX support is deprecated from AE 5.1.
How would you know that a publisher and a subscriber are in cm mode?
Subscriber will be pre-registered with the publisher in a cm mode.
Configuring TIBCO RVRD
Needed only when running primary and secondary administrators across separate subnets. We need to establish 2 RVRD connections for both HAWK and Rendezvous (Infra). So these steps will need to be performed for each.
The standard is to name for router
C:\tibco\tibrv\bin>rvrd -listen tcp:17474 -logfile rvrd_17474.log -store rvrd_17474.cfg
1. Obtain https and https port
Must view logfile to obtain both https and http port - search for “Http interface” to get the port.
Look in rvrd_NNN.log (where NNN is rendezvous port number - i.e. rvrd_17474.log )
Http interface - http://dev1234:57265/
Https interface - https://dev1234:57266/
Must view logfile to obtain HAWK and REPOSITORY ports Look in rvrd_NNN.log
(where NN is HAWK port number - i.e rvrd_17474.log)
Note: look at last time rvrd started, so usually at or near bottom of logfile
2. Create Connection
Using a browser, open up “http://dev1234:57265” http port from logifle <>:
Click: Add Router
Name: <> (18374)
Click: Add Local Network Interface
Click: Local Network Name
Subject: Enter Each Subject in Exact order as Primary server
Subject Names are
Click: Add Neighbor Interface
All the details should be populated on this screen.
Create user id and password
Check all connected neighbours for appropriate servers, the following information should be corrected for neighbours.
Note: Here the subject name should be com.tibco.repo.> instead of _com.tibco.repo.>
For Hawk (which xxx74) port, please do make sure you are using subject names as "_HAWK.>"
RV transport parameters
Daemon: Daemon is a back end running program infinitely. It is like a Gateway in RV. It tells the program where the RVD is running. It uses 'TCP' protocol and uses tcp:25 (port no.) by default. This needs ip address and port no..
tcp: ip address:port no.
Service: Service tells you through which port the RVD should broadcast the message.
Network: It has 3 parameters. Multicast, Broadcast and Sender address. These should be separated by a Semi-colon.