Pregunta

¿por qué no ve a más personas utilizando la arquitectura REST para el sistema servidor cliente? Usted ve gente que usa sockets, TIBCO RV o EMS o MQ, pero no he visto mucha arquitectura REST básica

¿Alguien sabe alguna razón por la que evitaría usar esta arquitectura para la comunicación cliente / servidor para una latencia alta / baja?

¿Fue útil?

Solución

No sé si necesariamente lo evitaría, pero puedo pensar en un par de razones por las que no podría elegirlo para un servicio de alto rendimiento y baja latencia. Primero, debe lidiar con toda la pila web para que su mensaje llegue a su servicio. Esto podría introducir una cantidad de capas y servicios innecesarios que retrasarían los mensajes. Un servicio personalizado solo necesita soportar las capas de protocolo requeridas por el servicio en sí.

Segundo, a menos que su servicio sea el único servicio alojado en el servidor web, estará compitiendo con otras solicitudes para que sus mensajes sean atendidos. Si bien tener un punto final personalizado para su servicio puede no resolver todos los problemas de contención de recursos, al menos no tiene que competir por el acceso de otros servicios a su punto final.

En tercer lugar, un protocolo personalizado solo debe admitir la información real del protocolo relacionado con el servicio y puede resultar en tamaños de paquetes más pequeños porque no necesita admitir la sobrecarga adicional del protocolo HTTP. Esto afectaría particularmente a los protocolos que intercambian mensajes pequeños, ya que la información del encabezado sería una fracción mayor del tamaño del mensaje.

Otros consejos

REST no es una buena opción para todos los problemas.

REST es lo mejor para la gestión de Recursos . Si está escribiendo servicios web (como con un sistema cliente-servidor), encontrará que desea cosas como representación de datos independiente del idioma, validación de argumentos, generación de código cliente / servidor, manejo de errores, controles de acceso. REST básicamente requiere que usted codifique esas cosas usted mismo.

Por otro lado, agrega la capa HTTP. Obtiene una integración perfecta de servidores proxy, almacenamiento en caché, etc., pero pierde algo de velocidad debido a los encabezados HTTP, la interfaz del servidor web, etc.

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