Hello,
We use RTC, which is connected to RTO, to retrieve quotes data.
We are connecting to 2 instances of RTC with 2 instances of a client application using RTSDK Java, and we are wondering about setting up a resilient connection in all this by configuring multiple channels.
Ideally, we'd like to configure all this via EmaConfig.xml, and not programmatically.
In doing some research, I've seen two ways of doing this, but I'd like to know what the difference is between the two, and what each of the two methods offers me.
The first way is to set up a channelGroup, like this :
<Consumer>
<Name value="Consumer_2"/>
<ChannelSet value="Channel_1, Channel_2"/>
<Dictionary value="Dictionary_2"/>
<XmlTraceToStdout value="0"/>
</Consumer>
<ChannelGroup>
<ChannelList>
<Channel>
<Name value="Channel_1"/>
<ChannelType value="ChannelType::RSSL_SOCKET"/>
<Host value="a-side_RTC"/>
<Port value="14002"/>
</Channel>
<Channel>
<Name value="Channel_2"/>
<ChannelType value="ChannelType::RSSL_SOCKET"/>
<Host value="b-side_RTC"/>
<Port value="14002"/>
</Channel>
</ChannelList>
</ChannelGroup>
In my tests with this configuration, I find that when one instance of RTC is stopped, the other instance is used.
I've seen other ways of configuring, like this that I haven't tested:
<WarmStandbyServerInfoGroup>
<WarmStandbyServerInfoList>
<WarmStandbyServerInfo>
<Name value="Server_Info_1"/>
<Channel value="Channel_1"/>
<PerServiceNameSet value=""/>
</WarmStandbyServerInfo>
<WarmStandbyServerInfo>
<Name value="Server_Info_2"/>
<Channel value="Channel_7"/>
<PerServiceNameSet value=""/>
</WarmStandbyServerInfo>
</WarmStandbyServerInfoList>
</WarmStandbyServerInfoGroup>
<WarmStandbyGroup>
<WarmStandbyList>
<WarmStandbyChannel>
<Name value="WarmStandbyChannel_1"/>
<StartingActiveServer value="Server_Info_1"/>
<StandbyServerSet value="Server_Info_2"/>
<WarmStandbyMode value="WarmStandbyMode::LOGIN_BASED"/>
</WarmStandbyChannel>
</WarmStandbyList>
</WarmStandbyGroup>
So I'd like to have a comparison between the two, and please tell me what advantages each approach offers?
Many thanks in advance!