PHP library for event-driven microservices using RabbitMQ.
Reliable event publishing and consuming with outbox/inbox pattern, circuit breaker, idempotency, and observability.
composer require yevhenlisovenko/nano-service:^7.5- Publisher — events to RabbitMQ with database fallback (outbox pattern)
- Consumer — events with retry logic, dead-letter queue, idempotency (inbox pattern)
- Circuit breaker — automatic outage detection and graceful degradation
- Metrics — opt-in StatsD metrics for publisher, consumer, HTTP, and connections
- Connection pooling — shared static connections/channels, prevents channel exhaustion
- Distributed tracing — trace_id chains across event hops
| Document | Description |
|---|---|
| CONFIGURATION.md | All environment variables |
| METRICS.md | All metrics, tags, and when they fire |
| INTEGRATION.md | How to integrate as publisher or consumer |
| TRACE_USAGE.md | Distributed tracing with appendTraceId() |
| DEPLOYMENT.md | Kubernetes templates and rollout strategy |
| TROUBLESHOOTING.md | Common issues and solutions |
| CHANGELOG.md | Version history and migration guides |
| Document | Description |
|---|---|
| Publishing Deep Dive | Outbox pattern, event tracing, error handling |
| Consuming Deep Dive | Inbox pattern, circuit breaker, retry logic |
| Document | Description |
|---|---|
| CLAUDE.md | LLM development rules |
| Code Review | Code review checklist |
| Bug Fixes | Known issues and fixes |
MIT License