Thank you so much for the explanation. i like your multi-road analogy
@ciaranod19812 жыл бұрын
Thank you
@rama54533 жыл бұрын
It's nice tutorial I ever seen
@ciaranod19813 жыл бұрын
Thanks
@Bizmonger2 жыл бұрын
This was really good.
@ciaranod19812 жыл бұрын
Thank you Scott
@tamilstudent12 жыл бұрын
If partitioned entities does the job of processing data without loss, why do we have normal queueus? Is it because partitioned Queues are cost expensive? Is that the only reason? Because i was surprised why we choose normal queueus when we have messaging unit failure condition. Also question 2: if my partition key is 1, and if the first messaging unit fails, will the messaging unit 2 safely handle my message with partition key 1? Pls clarify.
@ciaranod19812 жыл бұрын
Partitioning is great for when the partition key represents some inherent separation of your messages that they can be processed in a different stream /parallelly. Some message uses won't have that ability. The messages will need to be consumed in produced order across the whole set. Order updates can be processed in parallel with the order ID as the partition key. That's normally fine. However placing the actual order might not be able to if they are for a finite highly contested resource, like concert tickets. I might want to ensure the order submissions happen in first come first served order. Regarding your second question, if a messaging unit fails under your partitioned queue, sends to that partition fail until it recovers.
@thomasbeltrami26292 жыл бұрын
@@ciaranod1981 So partitioning is sufficient if I want to ensure the ordering of a group of messages sharing the same PartitionID and I do not need to use sessions, is it right? Also, if partitioning is sufficient, can I use multiple receivers to process messages from different partitions in parallel ensuring the ordering of messages within each partition?
@ciaranod19812 жыл бұрын
You would use a non-partitioned queue when you don't want to continue processing messages during a partial failure. If there is a global ordering concern or its important to service things on a first come first served basis.
@ciaranod19812 жыл бұрын
@@thomasbeltrami2629 partitioning is about availability. Multiple subscribers to a queue/subscription that is partitioned will be competing consumers on the queue still. So you can have out of order processing because they're all racing to consume. Sessions means each message in a session goes to a single consumer. This means there is no race and you will get in order processing. It will also mean in memory cached data will be useful as you know you'll be hitting the same process every time.
@StevenMa-ev3oo Жыл бұрын
I think enabling session is for each subscription, not for the entire topic