Azure Bus Service queues and patterns

%3CLINGO-SUB%20id%3D%22lingo-sub-2304409%22%20slang%3D%22en-US%22%3EAzure%20Bus%20Service%20queues%20and%20patterns%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2304409%22%20slang%3D%22en-US%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3EI%20am%20quite%20new%20on%20Azure%20Bus%20Service%20technology%2C%20and%20I%20am%20doing%20my%20first%20application%20that%20integrates%20two%20systems%20leveraging%20it.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20am%20struggling%20on%20deciding%20upon%20my%20queue%20pattern.%3C%2FP%3E%3CP%3EOne%20of%20the%20systems%20will%20be%20triggering%20the%20events%20based%20on%20what%20is%20happening%20on%20some%20tables%20and%20on%20demand%20processes%20(create%2Cupdate%2Csend%2Cxxx...)%20and%20that%20will%20be%20processed%20asynchronously%20by%20the%20Bus%20functions.%3C%2FP%3E%3CP%3EThe%20app%20is%20expected%20to%20have%20high%20volume%20of%20work%2C%20so%20I%20am%20considering%20on%20those%20patterns%2C%20probably%20are%20better%20solutions%20so%20please%20feel%20free%20to%20point%20them%20out%3A%3C%2FP%3E%3CUL%3E%3CLI%3E1%20process%20-%201%20queue.%20If%20there%20is%20a%20for%20instance%20%22Duplicate%20and%20send%22%20process%2C%20there%20will%20be%20a%20queue%20specifically%20for%20that%20process%20and%201%20function%20worker%20to%20process%20it.%3C%2FLI%3E%3CLI%3E1%20table%20-%201%20queue.%20For%20each%20table%2C%20there%20is%201%20queue%2Cthat%20holds%20all%20related%20to%20that%20table.%20This%20will%20be%20processed%20by%20an%20orchestration%20function%20that%20will%20distribute%20the%20requests.%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%C2%BFWhich%20is%20the%20common%20or%20best%20practice%20pattern%3F%20Are%20there%20any%20other%20options%3F%3C%2FP%3E%3CP%3EI%20have%20been%20reading%20the%20whole%20internet%20and%20many%20Githubs%20but%20I%20am%20just%20get%20more%20confused.%3C%2FP%3E%3CP%3EThanks%20for%20your%20help.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2602374%22%20slang%3D%22en-US%22%3ERe%3A%20Azure%20Bus%20Service%20queues%20and%20patterns%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2602374%22%20slang%3D%22en-US%22%3EHello%20There%2C%3CBR%20%2F%3E%3CBR%20%2F%3EThe%20scenario%20looks%20suited%20for%20an%20queue%20based%20architecture%20where%20you%20need%20a%20messaging%20backbone%20for%20your%20messages%20and%20the%20other%20end%20processing%20it%20updating%20a%20table.%20.%20You%20should%20consider%20leveraging%20Service%20Bus%20Queues%20(Enterprise%20Grade%20Messaging%20Services)%20for%20your%20message%20storage%20and%20transport%20and%20Azure%20functions%20or%20Azure%20Logic%20Apps%20to%20process%20these%20messages%20and%20update%20the%20table.%20Queues%20are%20resilient%20modes%20of%20communication%20as%20compared%20to%20other%20options.%20I%20am%20also%20attaching%20a%20few%20links%20where%20you%20will%20get%20further%20insights%20on%20these%20alternatives%2Foptions.%3CBR%20%2F%3E%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fevent-grid%2Fcompare-messaging-services%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fevent-grid%2Fcompare-messaging-services%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Ftwitter.com%2Fclemensv%2Fstatus%2F1260517769969352705%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Ftwitter.com%2Fclemensv%2Fstatus%2F1260517769969352705%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3ERegards%2C%3CBR%20%2F%3ESameer%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E
Occasional Visitor

Hello,

I am quite new on Azure Bus Service technology, and I am doing my first application that integrates two systems leveraging it.

 

I am struggling on deciding upon my queue pattern.

One of the systems will be triggering the events based on what is happening on some tables and on demand processes (create,update,send,xxx...) and that will be processed asynchronously by the Bus functions.

The app is expected to have high volume of work, so I am considering on those patterns, probably are better solutions so please feel free to point them out:

  • 1 process - 1 queue. If there is a for instance "Duplicate and send" process, there will be a queue specifically for that process and 1 function worker to process it.
  • 1 table - 1 queue. For each table, there is 1 queue,that holds all related to that table. This will be processed by an orchestration function that will distribute the requests.

¿Which is the common or best practice pattern? Are there any other options?

I have been reading the whole internet and many Githubs but I am just get more confused.

Thanks for your help.

 

1 Reply
Hello There,

The scenario looks suited for an queue based architecture where you need a messaging backbone for your messages and the other end processing it updating a table. . You should consider leveraging Service Bus Queues (Enterprise Grade Messaging Services) for your message storage and transport and Azure functions or Azure Logic Apps to process these messages and update the table. Queues are resilient modes of communication as compared to other options. I am also attaching a few links where you will get further insights on these alternatives/options.

https://docs.microsoft.com/en-us/azure/event-grid/compare-messaging-services

https://twitter.com/clemensv/status/1260517769969352705

Regards,
Sameer