yevhenlisovenko / nano-service
nano-service
Installs: 4 176
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/yevhenlisovenko/nano-service
Requires
- php: ^8.4
- ext-curl: *
- league/statsd: ^2.0
- monolog/monolog: ^2.0 || ^3.0
- myclabs/php-enum: ^1.8
- php-amqplib/php-amqplib: ^3.7.3
- psr/log: ^1.0 || ^2.0 || ^3.0
- ramsey/uuid: ^3 || ^4
- spatie/crypto: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.6
- dev-main
- v7.5.0
- v7.4.5
- v7.4.4
- v7.4.3
- v7.4.2
- v7.4.1
- v7.4.0
- v7.3.0
- v7.2.0
- v7.1.0
- v7.0.1
- v7.0.0
- v6.8.0
- v6.7.0
- v6.6.0
- v6.5.0
- v6.4.0
- v6.3.0
- v6.2.0
- v6.1.1
- v6.1.0
- v6.0.4
- v6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v5.0.0
- v4.0.0
- v3.1.0
- v3.0.0
- v2.4.0
- v2.3.0
- v2.2.0
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.8.1
- v1.8.0
- dev-feat-3607
- dev-statsd
- dev-pr-static-encode-decode
This package is auto-updated.
Last update: 2026-02-13 19:37:24 UTC
README
PHP library for event-driven microservices using RabbitMQ.
Reliable event publishing and consuming with outbox/inbox pattern, circuit breaker, idempotency, and observability.
Installation
composer require yevhenlisovenko/nano-service:^7.5
Features
- 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
Documentation
| 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 |
Architecture
| Document | Description |
|---|---|
| Publishing Deep Dive | Outbox pattern, event tracing, error handling |
| Consuming Deep Dive | Inbox pattern, circuit breaker, retry logic |
Development
| Document | Description |
|---|---|
| CLAUDE.md | LLM development rules |
| Code Review | Code review checklist |
| Bug Fixes | Known issues and fixes |
License
MIT License