Installation

Core Package

go get github.com/isaquesb/go-event-bus

This gives you the core interfaces (Event, Bus, Invoker), LocalBus, and the full invoker package (chain, retry, circuit breaker, rate limiter, idempotency, DLQ, metrics).

Requirements

  • Go 1.23 or later

Optional Dependencies

Install only the subpackages you need:

JSON Serialization

go get github.com/isaquesb/go-event-bus/json

Provides json.Registry for encoding/decoding events with envelope format and schema versioning via upcasters.

NATS Core Transport

go get github.com/isaquesb/go-event-bus/nats

Requires: github.com/nats-io/nats.go

JetStream Transport

go get github.com/isaquesb/go-event-bus/jetstream

Requires: github.com/nats-io/nats.go/jetstream

Redis Stores

go get github.com/isaquesb/go-event-bus/redis

Requires: github.com/redis/go-redis/v9

Provides distributed IdempotencyStore and RateLimitStore backed by Redis.

OpenTelemetry Tracing

go get github.com/isaquesb/go-event-bus/telemetry

Requires: go.opentelemetry.io/otel

Prometheus Metrics

go get github.com/isaquesb/go-event-bus/prometheus

Requires: github.com/prometheus/client_golang


Back to top

Copyright © 2025 Isaque de Souza Barbosa. Distributed under the MIT License.