wcf - Architecture Design for API of Cloud Service -
background:
i've local application process user input 3 second (approximately) , return answer (output) user.
(i don't want go details application in purpose of not complicate question , keep pure architectural question)
my goal:
i want make application service in cloud , expose api (for upcoming website , clients connect service without install software locally)
possible solutions:
- deploy wcf on cloud , use application there, clients can invoke service , use application on cloud. (rpc style)
- use web-api insert request queue , worker role dequeue requests , post results db, client send 1 request creating request in queue, , request getting result (which web-api db).
the problems:
- if go wcf solution (#1) cant handle great loads of requests, maybe 10-20 simultaneously.
- if go webapi-queue-workerrole solution (#2) client need request results multiple times can problem.
- if go webapi-queue-workerrole solution (#2) process isn't sync, client not result once process of request done, need request result.
questions:
- in webapi-queue-workerrole solution (#2), can somehow alert client once request has processed , done ? can save client multiple request (for result).
asking multiple times result isn't old stuff ? remmemeber 10 - 15 years ago accepted ? know virustotal api use kind of design.
there better solution ? 1 handle great loads , sync or async (returning result client once done) ?
thank you.
if you're using azure, why not fire more servers , use load balancing handle more load? in way, load increases, have more servers handle requests.
microsoft made available azure service fabric, gives lot of control on spinning , shutting down these services.
Comments
Post a Comment