Open DhruvBarot opened 5 years ago
how would you notify client of the result, polling?
Client wait for result... Service notify API gateway for result.
doesn't that defeat the purpose of async?
Why??? It will create single workers threads application.... This solution reduces work load of API gateway so your API gateway will deploy on small server and handle lots of requests.
That sounds like the gateway is synchronous. Only the client is asynchronous. Like @kreijstal I don't really grasp the difference.
Nop Client to gateway sync but internal communication is async. There is lots of technology and product available but full solution is not available. There is one or two solutions available one is Akka and another one is vert.x. But there are based on ESB.
If you want some real world example then I can provide
Apache vert.x is "event-driven" so very much asynchronous. Akka Streams is also "asynchronous, non-blocking"
So that's idea. In market Async API gateway not available
If we create than this product will dominating market. Also we can provide dynamic execution work flow, server less microservices hosting. Polyglot Architecture etc.
ASP.Net seems also like a very peculiar choice, Go or to a lesser extent Python/Ruby/Clojure/Node seem way better suited, especially for an open-source project.
I have two choices Java and c# as language. If going with Java then choose spring framework and if going with c# then choose asp. Net core. Currently asp. Net core is more popular and much mature. They provide lots of unique feature and continuous improvement. So as of now my choices is Asp.net Also this solution have polyglot Architecture so we can create some part in any other language.
I have something that I have already started in Kotlin + vert.x, if you are interested I can upload to github and we can work on that together.
Project description
currently all API gateway work on HTTP rest protocol and those all are sync call which is block resource and time for API gateway. so idea behind async API gateway is to communicate between service in async mode. There is lots of future enhancement like communicate via GRPC.
currently we can implement async API communication via message queue but as per CQRS read always sync if we have few writer and lots of reader then how we achieve best performance via API gateway? This questions answer is available in proposed solution.
currently in market there is no one deliver this type of solution so this solution may be become commercial.
Relevant Technology
ASP.Net core
Complexity and required time
[Please only tick off one box in each category by changing
[ ]
to[x]
. The labels on the project will then be updated by the maintainers as soon as possible.]Complexity
Required time (ETA)