19 puntos por xguru 2023-10-17 | 5 comentarios | Compartir por WhatsApp
  • Servidor proxy que mantiene la conexión del cliente, fácil de integrar con cualquier lenguaje/framework
  • Permite crear fácilmente endpoints de API en tiempo real
  • Soporta HTTP streaming/long polling y WebSockets
  • Se puede usar de forma totalmente transparente para el cliente
  • Es posible gestionar endpoints en tiempo real con herramientas de gestión de API como KONG y 3SCALE
  • Escrito en Rust y C++

5 comentarios

 
nemorize 2024-02-11

Lo usé un par de meses.

Sentí una gran ventaja en entornos como PHP, donde el procesamiento en tiempo real es complicado. Resulta bastante atractivo por el simple hecho de que no hace falta escribir un servidor de tiempo real por separado.
En particular, en un proyecto PHP común, para autenticar el endpoint en tiempo real no hace falta un intercambio de datos complejo (y molesto); basta con pasar el header Grip solo a los usuarios autorizados, así que pude concentrarme un poco más en la lógica de negocio.

A diferencia de PHP, en otros lenguajes donde no hay problema en mantener la solicitud abierta, no sentí una ventaja tan grande frente a abrir y usar directamente un endpoint en tiempo real...

Desde el punto de vista del proceso de autenticación y del escalado, me parece una solución que en teoría tiene bastantes ventajas.

... pero si le puse el matiz de “en teoría”, es porque la solución en sí es algo inestable. En especial, el servidor proxy —que no sería exagerado llamar la parte más importante de esta solución— es bastante inestable.

No me puse a buscar bugs por separado, pero en mi configuración, cuando entraba una solicitud POST, todas las solicitudes posteriores quedaban completamente muertas por un rato.
Lo resolví (???) poniendo otro servidor proxy para que solo redirigiera a Pushpin las solicitudes GET, especialmente cuando el header Accept era SSE, pero por ahora me parece que todavía es demasiado pronto. Solo para proyectos de juguete...

En fin, aunque tiene bastantes problemas para usarlo en producción, se podría resumir como que la idea está bastante buena.

 
xguru 2024-02-13

Vaya, gracias por la buena reseña.

 
galadbran 2023-10-17

Mmm… esto se siente como magia, pero todavía no logro resolver la duda de cómo se le pega esto a una API web común ya existente y para qué se usaría… snif snif

 
kuroneko 2023-10-17

He estado un poco preocupado porque las solicitudes a la API siguen aumentando, así que probar un programa como este también podría ser una opción. +_+

 
xguru 2023-10-17

Pensé que el nombre me resultaba familiar, y es porque tiene el mismo nombre que PushPin - herramienta de colaboración en tiempo real local-first.
Pero es una solución completamente distinta.

También fue seleccionada en Thoughtworks Technology Radar, Volume 29 como una tecnología que vale la pena probar en el área de frameworks.