question

Upvotes
Accepted
26 1 3 12

Fault Tolerance in Elektron Price Feed (RTO) in WarmStandbyMode

Hi,

I use WarmStandbyMode in my process to receive Elektron Price Feed. Whenever there's a freeze in connection between my application and active server, how long does it take to switch from active server to standby server? Is there a parameter through which it can be tuned ? In a situation where both active and standby server connections are frozen, what would be the behaviour ? For some reason, if primary server is down (when that happens, standby server connection becomes active), is adding another standby connection an option while application is still running ?

ema-api#productc++
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Upvotes
Accepted
80.3k 259 52 75

@thilinaillangasinghe

Thanks for reaching out to us.

I am not sure what you mean by connection freeze. Typically, the warm standby feature allows a consumer to failover to a standby connection when a primary connection is down, or a service is down.

However, if the channel is still connected but is unable to send or receive anything, the API uses a ping mechanism to detect this kind of problem. The ping mechanism can be configured via the following configuration in the channel.

1683689321479.png

The ping timeout setting on the server side may override this client's setting.

We don't have an exact number of how long it takes to switch from active server to standby server but it will be faster than the normal reconnection because the standby server is already aware of items an application has subscribed for, during a failover the API doesn't need to re-subscribe items to the standby server.

I did a quick test by enabling tracing in the API and checking the time when the channel was down and the time when the item was recovered. I found that with the normal reconnection logic, it took around 3 seconds to recover an item but with the warm standby feature, it took only 300 milliseconds to recover an item. These are not official numbers and they may be different in your environment.

If both active and standby servers are down, the API can't connect to the servers and is unable to get the data. You can't add more standby servers in the consumer after the consumer was created. In this case, you need to create a new consumer with new configurations.

For more information, please refer to the Introduction to Refinitiv Real-Time SDK Warm Standby Feature article.

I hope that this information is of help.



1683689321479.png (24.8 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.