L'API RESTful è appropriata per servizi di natura quasi computazionale?

2

L'API RESTful è appropriata per il seguente scenario?

  • Viene ottenuto un token a tempo limitato, che durerà solo un minuto
  • L'immagine viene caricata su un server
  • Il server esegue alcune elaborazioni di immagini pesanti per la CPU su richiesta, entro il limite di tempo
  • Il risultato è disponibile per il download, entro il limite di tempo
  • Quando scade il token:
    • L'immagine, il calcolo, il risultato vengono tutti scartati / terminati e qualsiasi connessione aperta verrà chiusa.
  • Potrebbero essere ancora necessari tutti gli altri aspetti necessari dei servizi web, come l'autenticazione / l'autorizzazione del servizio, la quota, la crittografia, ecc.

Poiché la "risorsa" è consentita solo per meno di un minuto, ha ancora senso rendere "risorsa" il cittadino di prima classe in questa API?

Aggiorna

Ho trovato questo link che parla di un'API REST per l'accodamento dei processi in RabbitMQ. Tuttavia è una "pagina idea", quindi non sono sicuro che sia rilevante o meno.

    
posta rwong 09.05.2013 - 09:48
fonte

3 risposte

1

REST come protocollo di trasporto è adatto, come un paterno architettonico potrebbe non essere sufficiente. Supponiamo che tu voglia distribuire il calcolo su più server. Ciò richiederebbe un bilanciamento del carico round robin per uniformare il carico e sessioni appiccicose per spostare la richiesta di risultato sullo stesso server che ha elaborato l'immagine. Dovresti dare un'occhiata ai quadri di distribuzione del lavoro dei master worker come quelli basati su code e alle strutture di calcolo a bassa latenza come storm.

    
risposta data 10.05.2013 - 21:18
fonte
0

Sembra che tu stia leggendo troppo in questo.

L'API RESTful è solo una versione più leggera e leggera di SOAP, più comunemente utilizzerà JSON (non richiesto) come generalmente utilizzato per gli smartphone perché è molto più leggero per un ambiente in cui un utente potrebbe avere una cattiva connessione o essere addebitato per l'utilizzo.

I servizi web SOAP hanno vantaggi integrati per la sicurezza, la crittografia ecc. se questi saranno richiesti, sembra che dovresti usare SOAP invece di provare a implementare il tuo su REST

    
risposta data 09.05.2013 - 10:48
fonte
0

Suppongo che non ci sia nulla di male nell'usare il riposo se si usa solo ottenere con l'id del download per avviare il download di un file. Solo un paio di punti importanti da osservare:

  1. Farei attenzione a rendere disattivati tutti gli altri accessor restful standard se non li utilizzerai (che senso hanno l'aggiornamento e l'eliminazione a quel punto?). Puoi ancora utilizzare il post per caricare il file iniziale, poiché ciò si adatta ancora al modello.
  2. Modificare la root per distinguere da altri accessi restful più normali, anche se il file che si sta caricando implica l'aggiornamento di un record a cui si accede normalmente tramite restful (cioè, se si hanno / api / file come root per le operazioni di crud sui record riguardanti file, avere un / api / files / upload root per il caricamento effettivo del file).

Restful è inteso principalmente per semplificare l'interfaccia server / client, quindi se vi imbattete in qualche tipo di problema, non distruggete il vostro cervello cercando di farlo funzionare. Abbandonati semplicemente restful per questo tipo di transazione.

    
risposta data 09.05.2013 - 11:02
fonte

Leggi altre domande sui tag