Skip to content

Commit

Permalink
add pattern event queue
Browse files Browse the repository at this point in the history
  • Loading branch information
JamsMendez committed Oct 16, 2024
1 parent 84f62af commit 00a4793
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 0 deletions.
31 changes: 31 additions & 0 deletions go-event-queue/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#### Patron de Concurrencia Event Queue

Permite manejar y procesar eventos de manera asincrona mediante
una cola (Queue) que los ordena y almacena temporalmente hasta
que puedan ser procesados. Es util cuando se requiere evitar el
bloque de un programa o servicio mientras se manejan eventos (notificaciones,
mensajes, tareas, etc.). Ya que las tareas se agregan en la cola
y son consumidas de forma asincrona.

### Caracteristicas
Aislamiento de eventos: Los eventos se almacena en una cola antes de ser
procesados, lo que permite diferir la ejecucion
de una tarea hasta que sea posible.

No bloqueante: El productor de eventos no se bloquea esperando que
el evento se procese.

Procesamiento
asincrono: Los consumidores pueden manejar los eventos de la
cola de menera asincrona y procesarlos conforme van
llegando.

Control de flujo: Permite gestionar y controlar la velocidad a la que los
eventos son procesados, evitando la sobrecarga.


Orden: Los eventos generalmente se procesan en el mismo orden en
que se van agregando.

Tolerante a fallas: Los eventos se pueden reintentar o registrar cuando el
procesamiento falla.
3 changes: 3 additions & 0 deletions go-event-queue/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module go-event-queue

go 1.23.2
4 changes: 4 additions & 0 deletions go-event-queue/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package main

func main() {
}

0 comments on commit 00a4793

Please sign in to comment.