Do you know if there are any kind of ADS redirection/reverse proxy mechanism based on the requested service?
Let's say a user connect to a ADS (or maybe something else) and subscribe for the service FEED1, using RFA. We would like to redirect this user to make him connect to a specific ADS (and on a specific port too)
Does RFA can handle such behavior transparently ?
ADS redirection happens as part of the login process and thus before the client can learn about or express interest in a service. It's purpose is for load sharing on the TREP side.
The role of TREP is to integrate services such that any ADS should be able to provide all the services available. Performing integration on the client side is possible with RFA configuration of sessions and connections. One would have to designate master ADS servers for load sharing duties for each set of static split services. As per the document the master ADS servers do not actually have to host anything and can purely redirect to ADS that do.
Be aware that the new Elektron SDK has no support at all for ADS redirection.
RFA documents the data used for RSSL redirection with the RDM Login domain refresh message payload, also for the UPA/ETA version. The same data may be used for warm standby for which there are examples provided in each API package (i.e. StarterProvider_WarmStandby).
It seems like you are trying to load balance ADS. There is a feature built in ADS where a user would connect to load balancer and it will redirect the RFA application to reconnect to another ADS. This is transparent to the application itself.
See: RFA Client Load Balancing in ADS documentation for more information.
Thx Gurpreet, nevertheless we were aware of this capability, but it does not seem to load balance based on the service that the client would like to access.
If there is a way to achieve same behavior, not for load factor, but for specific service availability, would be great.
Any clue ?
RFA supports connection list. You can specify multiple RSSL connections in the session. Then, RFA will connect to all servers specified in the connection list.
After that, RFA will route item requests to the servers which support the requested services.