Practice English Speaking&Listening with: Solace does REPLAY! A PubSub+ Message Replay Feature

Difficulty: 0

When you think of streaming event brokers that support replay

which come to mind? You probably think of Apache Kafka...

but did you know that Solace supports replay as well? Do you want to see just

how easy it is to get started using replay with Solace?

Hi i'm Aaron, and i'm going to show you in less than two minutes!

First, make sure you've upgraded to the most recent version of the Solace broker

and log into the management console. Select the Message VPN that you wish to

configure replay on, and navigate to the replay tab.

Tell it to create a replay log, and specify the maximum size of that log in

megabytes. Click apply, and that's it!

Every Guaranteed or persistent message published into this Message VPN,

or every message published that matches a guaranteed endpoint will be stored in

the replay log for possible future use. Now without any

messages being published onto the broker right now, it's kind of hard to see the

replay in action. So let's take a look at an example.

On the queues tab, you'll see two queues automatically created by the replay, and

two queues that I've already pre-configured

for this example: q1 here is subscribed to topic "orders/new"

and q2 is subscribed to "orders/amend". So think of this as some kind of

e-commerce platform. So to simulate order event data

coming in, I can use the SdkPerf test tool (you can find it on our downloads

page) to be publishing on those two topics "orders/new"

and "orders/amend" in a round-robin fashion at the rate of five messages per


I go back and look at the replay log you can see that indeed

those order events are being stored in there.

and back on the queue side, q1 and q2 are both receiving

those messages as well. Now, this is just for illustrative purposes.

Ideally I would have applications or microservices bound to these queues and

draining the messages out of them, you know one processing new orders, one

processing amends. But this is just an example and I want

to just keep those messages in there to show you. So let's consider the use

case of a late joiner application. So say there was

supposed to be a third application, maybe some kind of analytics

microservice, that was supposed to be deployed at the same time as these two

guys. It was supposed to receive all the order

data, not just new's, not just amends, but everything.

So this is actually a perfect example of what we can use replay for.

So first let's go ahead and create a queue for that third application,

we'll just call it q3.

Give it slightly larger quota than the other two since it's getting more data,

and now let's add a subscription for that q3

that will attract all of the order events: orders/*

so new's, amend's, and any future orders

that i might need.

You can see that q3 has started to receive data,

however it's missing some obviously because it was a late joiner.

So now that our queue is properly configured and subscriptions added to it,

we can initiate a replay request on it. So select the queue, go to action,

"Start replay". If i know the exact timestamp of when I

want the replay to begin, I can just enter it here.

or I can simply say replay for messages from the very beginning.

Click OK to confirm. And now my q3 has all the messages that

were published originally that q1 and q2 both already have.

So at this point, I could now start up my third application, my analytics

application, and bind it to q3 and drain all the messages out there as

if it had been online from the very very beginning.

So replay can be super useful, not for just late joiners and misconfigurations,

but things like restoring corrupted databases from their last known good

checkpoint, training algos tweaking them a little

bit and then restarting their message flow from the start of the day,

and you can initiate replays not just through the GUI tool the PubSub+ Manager

like we just saw, but also through SEMP, our fully

RESTful management API. Also our CLI

or command line interface. And if your applications are actually

developed using Solace messaging APIs like JCSMP,

they can actually initiate replay requests through

those as well. So lots of different ways of using a replay in Solace.

So check the description, I'll put a bunch of links to docs and resources.

Please like this video if you did, subscribe to our channel that makes me

really happy, thanks a lot for watching, and see you

next time!

The Description of Solace does REPLAY! A PubSub+ Message Replay Feature