Déterminer synchrone vs. asynchrone dans les applications Web

Question:

J'ai été dit que les meilleures pratiques des états de cette longue course http demandes web devrait être plus courte des requêtes asynchrones avec un mécanisme de vote pour l'achèvement.

Pourquoi?

Distinction Importante:

Je suis en train de travailler sur une API de service web. Il n'est pas destiné à être appelés par les navigateurs (ce qui aurait pour effet de bloquer sur le chargement), mais par de riches clients qui appellent les services à distance en mode asynchrone de toute façon) et les scripts (qui peut faire la même chose asynchrone truc)

Motivation:

J'aimerais savoir parce que je suis en train de prendre des décisions quand une demande doit être faite asynchrone, ce qui est le point de coupure? Je suis en train de travailler sur une API basée sur le web qui a des demandes qui prendre n'importe où à partir de 0.001 secondes à 400 secondes (et partout entre les deux) en fonction de la demande (pas de paramètres mais la méthode qu'il appelle).

J'ai pu faire tout ce asynchrone (sauf pour le sondage pour la fin de commande) mais cela complique le travail effectué par les clients API (c'est à dire l'obtention de résultats de demandes, les bureaux de vote pour l'achèvement, etc.)

Autant que je sais que je pourrais aussi faire tout ce synchrone depuis la même quantité de travail est fait de toute façon il semble donc que la charge sera similaire.

En outre, tous les services web que j'ai utilisé semblent suivre un modèle hybride de sorte qu'ils doivent être la prise de décision en quelque sorte.

La seule façon que je puisse vraiment répondre à cette question est de savoir pourquoi les bonnes pratiques.

source d'informationauteur Pace | 2011-05-11