Try PubSub+
If you haven't already, check out our new Developer Portal! You'll find useful information about Solace PubSub+ as well as handy resources to get you started.

How can Message Eliding applied on Market data use case?

we would like to migrate our application to use solace for the market data updates
I have read the document and find it very interesting as it provides Message Eliding.
Also, it states that it is suitable for streaming market data to clients that do not need every update.

let's say we have 10000 stocks need to publish if there are updates and the 3 clients only want the message rate of 5 updates/seconds,
does it mean I need to create 1 topic per stock which ends up of 10000 topics in total?
It seems to be quite a lot.

I am not sure if I understand this correctly or there is any other best method to deal with that.
I am very appreciated if someone can shed some light on it

Thanks

Comments

  • AaronAaron Member, Moderator, Employee Posts: 62 Solace Employee

    Hey Newbie Wong... thanks for the question. So in Solace, messages that are to be elided are tracked on a topic-by-topic basis by the broker. The publisher would be publishing updates for these 10,000 stocks as messages on 10,000 different topics... that part you got right, but there's nothing to "create"... the publisher just sets the topic of the message every time it publishes a new message, based on the stock symbol for that message. E.g. stocks/update/v1/amx

    Now, on the consumer side, it could receive data for all 10,000 stocks by simply using a single wildcard subscription: stocks/update/v1/* (for example). You don't need to subscribe to all 10,000 individual topics separately. (although some applications choose to).

    Now for the eliding part: this is specified as either a) the rate at which you wish to receive messages per-topic; or b) the minimum inter-message delay. E.g. 500ms delay, means I can get at most 2 msg/s. Now, this is PER-TOPIC, so if you have all 10,000 topics being published on a lot, then your consumer could expect to get around 20,000 msg/s (max 2 updates per second per topic). If you set the delay to 2000ms, then you'd expect a max message rate of 5,000 msg/s. Does that make sense?

    Different apps can have different eliding rates... you just need to create different client-profiles, and different client-usernames that point to those different profiles.

    Finally, note that the publisher has to turn on a flag per-message to say that it is eligible to be elided by the broker.

    Hopefully that helps?

Sign In or Register to comment.