15

Durante su presentación "Procesamiento sin conexión en App Engine: A look ahead" de Google I/O 2009 (video, slides), Brett Slatkin presenta el servicio Task Queue.¿Cómo implementar un servicio light pub-sub en App Engine?

Afirma que

sistemas Pub-sub maximizar las transacciones, el desacoplamiento:

  • un gran número de pequeñas transacciones por segundo abanico
  • -uno a muchos con cambiar los receptores
  • ordenación, filtrado de dos fases garantizado comprometen

y destaca específicamente

Nuestros nuevos implementos API cola, no pub-sub


I Me interesa solo un subconjunto de esas funcionalidades:

  • -uno a muchos fan-out con cambiantes seleccionados fijos manipuladores de receptores/internos
  • , filtrado de dos fases garantiza el orden cometer

objetivo apuntado sería para aliviar publicación de notificaciones/mensajes entre diferentes módulos de la misma aplicación web. Ejemplos de casos de uso de casos serían:

  • Hacer que el módulo de pagos tenga conocimiento de los recibos de facturas.
  • Haciendo que un usuario sea capaz de seguir los cambios de un objeto de dominio en particular que ha decidido seguir/destacar.

¿Cuál sería la forma correcta de implementar estos en la parte superior del servicio Task Queue?

+1

Su charla de 2010 es buena, y sobre este tema, también: http://www.youtube.com/watch?v=zSDC_TU7rtc –

+0

De hecho, muy buena charla. Gracias por la pista. :-) – nulltoken

Respuesta

1

Hay un example implementation of PubSubHubbub from Google that runs on AppEngine. Puede ver cómo lo hacen o eliminar el código hasta que se ajuste a sus necesidades.

+0

Gracias por esta respuesta. Incluso si algunas partes de PSHB realmente dependen del servicio Task Queue, no lo llamaría una solución "ligera" ;-). He editado mi pregunta para tratar de aclarar mi solicitud (ej.mecanismo de notificación en la aplicación). – nulltoken

6

Considere el uso de Cloud Pub/Sub. Es la versión externalizada de la tecnología Pub/Sub interna, que se ha utilizado ampliamente en Google durante aproximadamente 7 años y ha demostrado ser escalable y robusta. A partir de hoy, sigue siendo beta, pero vamos a GA pronto (en pocos meses).