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:

  1. deploy wcf on cloud , use application there, clients can invoke service , use application on cloud. (rpc style)
  2. 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:

  1. in webapi-queue-workerrole solution (#2), can somehow alert client once request has processed , done ? can save client multiple request (for result).
  2. asking multiple times result isn't old stuff ? remmemeber 10 - 15 years ago accepted ? know virustotal api use kind of design.

  3. 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

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -