microdot | Microdot : An open source .NET microservices framework | Microservice library
kandi X-RAY | microdot Summary
kandi X-RAY | microdot Summary
Microdot: An open source .NET microservices framework
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of microdot
microdot Key Features
microdot Examples and Code Snippets
Community Discussions
Trending Discussions on microdot
QUESTION
I am thinking of building an application using a Service Oriented Architecture (SOA).
This architecture is not as complex and messy as a microservices solution (I think), but I am facing similar design problems. Imagine I have services of type ServiceA that send work to services of type ServiceB. I guess, if I use a queue, then load balancing will not be a problem (since consumers will take what they can handle from the queue). But queues tend to generate some bad asynchrony in the code that requires extra effort to fix. So, I was more inclined to use HTTP calls between services, using the efficient and amazing async/await
feature of C#. But this generates issues on sharing the workload and detecting services that are saturated or dead.
So my questions are:
- Is there a queue that supports some sort of
async/await
feature and that functions like an HTTP call that returns the result where you need it and not in some callback where you cannot continue your original execution flow? - How do I load-balance the traffic between services and detect nodes that are not suitable for new assignments when using HTTP? I mean, I can probably design something by myself from scratch, but there ought to be some standard way or library or framework to do that by now. The best I found online was this, but it is built for microservices, so I am not sure if I can use it without problems or overkills.
Update: I have now discovered this question, that also asks for awaitable queues: awaitable Task based queue ...and also discovered Kubernetes, Marathon, and the like.
...ANSWER
Answered 2018-Nov-04 at 20:38Regarding your first question, NServiceBus, which is a commercial framework for .NET that abstracts message transports and adds many features on top of them, has the exact feature that you are looking for. They actually call it "callbacks" and the usage is as follows:
Assuming you have a Message to send to a backend service and a Response that you expect back, you would do, in ServiceA:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install microdot
Create your service host that will run your service
Define your public-facing service interface. Methods on that interface can be called from outside.
Define your stateless-worker service grain and interface that implement the public-facing interface.
Define any other grains you need to perform the required processing.
Run your service (F5)
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page