Pregunta

Los argumentos acerca de la simplicidad de las soluciones mediante el uso de XML-RPC o RESTO son fáciles de entender y difícil de discutir.

Muchas veces he escuchado también a los argumentos de que el incremento de la sobrecarga de JABÓN pueden afectar significativamente ancho de banda utilizado y, posiblemente, incluso la latencia.Me gustaría ver los resultados de una prueba que cuantifica el impacto.Cualquiera sabe una buena fuente de información?

¿Fue útil?

Solución

Hay unos pocos estudios que se han hecho con respecto a esto que usted podría encontrar informativo.Por favor, consulte los siguientes:

También hay una (un poco fuera de fecha) muy interesante el rendimiento de conversación sobre el tema en la Los Foros de MSDN.

En breve - la mayoría de estas fuentes parecen estar de acuerdo en que el JABÓN y el RESTO son más o menos el mismo rendimiento de datos de uso general.Algunos de los resultados, sin embargo, parecen indicar que, con datos binarios, el RESTO puede ser en realidad la menos eficiente.Ver los enlaces en el foro he enlazado para más detalle sobre esto.

Otros consejos

El principal impacto en la velocidad de JABÓN vsRESTO no tiene que ver con la velocidad del alambre, pero con cachability.RESTO sugiere el uso de la web semántica, en lugar de tratar de túnel sobre él a través de XML, de modo que los servicios web RESTful generalmente están diseñados para utilizar correctamente los encabezados de caché, para que funcione bien con la web del estándar de infraestructura, como la caché de proxy e incluso el local, la caché del navegador.Además, el uso de la web semántica significa que cosas como las ETags y automática de la compresión zip son bien conocidos maneras de aumentar la eficiencia.

..y ahora usted dice que usted desea puntos de referencia.Así, con la ayuda de Google, he encontrado un chico cuyas pruebas muestran RESTO a 4-6 veces más rápido que el JABÓN y el otro papel que también favorece el DESCANSO.

El RESTO, según un protocolo no define ninguna forma de sobre del mensaje, mientras que el JABÓN tiene este estándar.

Para ello, es algo simplista a tratar y comparar los dos, que son las manzanas a las naranjas.

Dicho esto, un sobre SOAP (menos la de datos) está a sólo un par de k, por tanto, no hay ninguna diferencia notable en la velocidad siempre va a recuperar un objeto serializado a través de SOAP y REST.

JABÓN y cualquier otro protocolo que utiliza XML generalmente aumenta tus mensajes un poco - esto puede o puede no ser un problema, dependiendo del contexto.

Algo así como JSON sería más compacto y quizás más rápido a serialise / deserialise - pero no lo uso exclusivamente para ello.Haz lo que te parezca que tiene sentido en el tiempo y cambiarlo si es un problema.

Cualquier cosa que utiliza HTTP normalmente (a Menos que sea reutilizar el HTTP 1.1 keepalive conexión, que muchas de las implementaciones no) se inicia una nueva conexión TCP para cada solicitud;esta es muy mala, especialmente a través de enlaces de alta latencia.HTTPS es mucho peor.Si usted tiene un montón de corto solicitudes de un emisor a un receptor, pensar acerca de cómo usted puede tomar esta sobrecarga de salida.

El uso de HTTP para cualquier tipo de RPC (si el JABÓN o algo más) siempre va a incurrir en esa sobrecarga.Otros protocolos RPC generalmente le permiten mantener una conexión abierta.

La expansión en "pjz" 's respuesta.

Si usted está recibiendo una gran cantidad de INFORMACIÓN(get* tipo de llamadas) JABÓN con base de operaciones, en la actualidad no hay manera de que usted puede caché de ellos.Pero si se aplicaran estas mismas operaciones con el RESTO, hay una posibilidad de que los datos(depende de su contexto de negocio) puede almacenar en caché, como se mencionó anteriormente.Porque el JABÓN se utiliza POST para sus operaciones, que se puede almacenar en caché la información en el lado del servidor.

El JABÓN es definitivamente más lento.Las cargas son significativamente más grandes que son más lentos para el montaje, transporte, analizar, validar y procesar.

No sé de ningún tipo de respuesta para la evaluación comparativa de la pregunta, sin embargo, lo que sé acerca de la formato SOAP es sí, no tienen los gastos generales, pero que la sobrecarga no aumenta por la petición:si usted tiene uno de los elementos enviados para el servicio web, usted tiene gastos fijos + uno de los elementos de la construcción, y si usted tiene 1000 elementos enviados para el servicio web, usted tiene gastos fijos + 1000 elemento de construcción.La sobrecarga se produce cuando la solicitud XML es el formato para la operación en particular, pero cada individuo argumento elemento en la solicitud es el mismo formato.

Si nos atenemos a repetible, breves ráfagas de datos (por ejemplo, 500 elementos), la velocidad debe ser aceptable.

Supongo que la cuestión principal aquí es cómo se compara RPC con JABÓN.

ambas son el mismo enfoque de la comunicación de la abstracción por tener la punta de los objetos que funcionan con y a la primitiva/tipos de datos complejos que volver sin saber realmente todo esto es manejado por debajo.

Yo siempre prefiero (JSON)RPC porque

  • es ligero
  • hay muchos grandes implementaciones para todos los lenguajes de programación por ahí
  • es fácil de aprender/usar/crear
  • es rápido (especialmente con JSON)

aunque hay razones por las que usted debe utilizar JABÓN, es decir,si usted necesita nomenclatura de los parámetros en lugar de confiar en su orden correcto

algunos detalles más de stackoverflow pregunta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top