Trabajando con PubSub de GCP

 


En un articulo anterior hablamos sobre CloudKarafka para trabajar con Tópicos, publicadores y subscriptores.  Pero, si tu tienes cuenta en Google Cloud, debes saber que puedes usar PubSub para implementar mensajería basada en eventos.

¿Qué es PubSub?

GCP Pub/Sub es un servicio de mensajería real-time completamente administrable que nos permite enviar y recibir mensajes entre aplicaciones independientes. ¿Y cómo funciona esto, o "como se come"?: 
  1. Tú publicas un mensaje a un tópico,
  2. Una aplicación se suscribe a la subscription de dicho tópico para recibir los mensajes que se publican. 
  3. La aplicación al recibir el mensaje avisa que el mensaje ha sido recibido y el mensaje es eliminado de la cola de mensajes. 
  4. Si el aviso  no es recibido, GCP reenviará el mensaje con un tiempo de delay especificado. De esta manera, la entrega del mensaje es garantizado.

¿Por qué GCP Pub/Sub?

Cuando hay dos micro servicios o aplicaciones que necesitan comunicarse entre ellas para completar una tarea. Tu piensas en resolver esto con:
  1. Request HTTP
  2. GRPC
El problema con HTTP es que hay chance de fallas y por eso el desarrollador implementa lógicas de reintento. HTTP es también "demasiado" si tienes que intercambiar cantidades muy pequeñas de datos. Recordemos también qué hay que proporcionar autenticación, aunque ambos micro servicios pertenecieran a la misma aplicación. 

Y con GRPC habría que aprender su sintaxis y metodologías, así como escribir la lógica de reintento si falla la entrega del mensaje.

Pero, ¿Qué resuelve GCP Pub/sub?

  1. Nos da mecanismo de reintento
  2. Es super ligero y super rápido
  3. Configuración mínima
  4. Es administrado por google, así que ni preocuparse del mantenimiento


A continuación los pasos para su utilización:

Paso 1: Obtener archivo de Recurso

Para poder utilizar los tópicos y subscripciones se necesita generar un service-account.json desde la consola de Google. Yo te muestro como hacerlo de forma sencilla:



Escoger la opción JSON y obtener el archivo JSON que tendrá por defecto el nombre del proyecto en GCP. Renombrarlo a service-account.json.


Este archivo lo vamos a usar mas adelante cuando generemos los proyectos.


Paso 2: Crear el Pub/Sub, Tópico y Subscripción

Primero ubica el Pub/Sub en la barra de servicios a la izquierda de la página de Google Cloud:


Luego crea el tópico testTopic:



Luego creamos la suscripción:



Y mantengo los datos por defecto:







Y listo.  Ahora pasamos a crear los proyectos para enviar y recibir mensajes usando Pub/Sub.

Paso 3: Vídeo tutorial

Explico la implementación con un vídeo paso a paso.





El código fuente lo puedes bajar desde GitHub aquí.


Enjoy!


Joe
Share:

Tutorial for working with CloudKarafka

 



I have been looking for a Kafka who does not have to manage it and only worry about growing according to my needs. I found CloudKarafka, which is very easy to use and has a free plan for developers.

I hope you like this material, the source code can be found on github at this link.



And if you want to go deeper into Kafka, there is a good book that the same people from CloudKarafka have written at this link.

Enjoy!

Joe
Share:

Tutorial para trabajar con CloudKarafka

 


Estuve buscando un Kafka que no tenga que administrarlo y preocuparme solo en crecer según mis necesidades. Encontré CloudKarafka, que es muy sencillo de usar y tiene un free plan para desarrolladores. 

Espero les guste este material, el código fuente lo encuentran en github en este link.




Y si quieren profundizar más sobre Kafka, hay un buen libro que ha hecho la misma gente de CloudKarafka en este link.


Enjoy!


Joe

Share: