Probably the best demonstration on you tube. Thank you Jeff..
@armstrongfamily874 жыл бұрын
I designed same for a multi-tenant/language/service product back in 2003 using windows Servers, MSMQ, ASP.NET, IIS, etc. Worked great for async or sync calls from web. Async calls would get a receipt #, think most all customers preferred the sync method, easier for them, but both were supported.
@TheDodo12245 жыл бұрын
Great talk, very informative!
@agapella083 жыл бұрын
really good contents here!
@nmarcel6 жыл бұрын
It would be great to see this compared with the Azure Durable Functions way.
@oliviermatrot12037 жыл бұрын
Hi Jeffrey, amazing information. You're telling about a request coming to a website posting a message to a queue and polling for response. I can't think about anything but async/await in c#. So following is my question: Is there an API, at least to your knowledge on Azure, that could turn a REST request to a message in a queue, then waiting for a response ?
@JeffreyRichter7 жыл бұрын
I'm not aware of any service that offers this. It would probably be best offered by an API gateway service.
@kendallwillets6 жыл бұрын
That control flow looks like a nightmare. Is it possible to construct some kind of stack to manage the queue dispatch and return points? It would possibly be simpler if pushing or popping the return address were combined with queue submission.
@JeffreyRichter6 жыл бұрын
I'm pretty sure I've optimized this as much as possible. That being said, I also tried to show a pretty comprehensive example with 3 different services communicating. If your services just use messaging, then there is just 1 queue per service. The additional queues come into play when one service (the web service in my example) uses request/reply; then you need a queue for each instance of this service.
@kendallwillets6 жыл бұрын
Sorry, I don't mean to single you out; it just seems like a general problem with this type of architecture. It's how I imagine people did procedure calls with goto's before the stack was invented.
@Daweim04 жыл бұрын
Now that you mention it this pattern does remind me of gotos (funny how history goes in circles). I think a key difference is that when a message is sent the only transmitted state is in the message. When a goto is used all sorts of state is accessible through global and maybe local variables.