amranidev/micro-bus
Laravel/Lumen package for building event-driven microservices on AWS using SNS/SQS. Provides publisher/subscriber setup, config publishing, and env-based credentials to implement Pub-Sub messaging between services.
Event facade) and queue workers (queue:work).sqs:SendMessage, sns:Publish).guzzlehttp/guzzle (for HTTP-based event routing) and aws/aws-sdk-php (for AWS services).OrderCreated event).Event::dispatch() with MicroBus::dispatch() where needed.MicroBus::subscribe() for event listeners (alternative to Laravel’s listen()).sqs:SendMessage, sns:Publish, etc.composer require amranidev/micro-bus.php artisan vendor:publish --provider="Amranidev\MicroBus\MicroBusServiceProvider".config/micro-bus.php (e.g., OrderCreated → sqs:orders).MicroBus::dispatch().MicroBus::subscribe().QueueTestCase).config/micro-bus.php may diverge across environments.composer.json.ApproximateNumberOfMessagesVisible in SQS to avoid backpressure.PricePerMillionRequests).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| SQS queue throttling | Event loss or delays | Configure DLQs and use exponential backoff. |
| SNS topic misconfiguration | Events not delivered to subscribers | Validate topic subscriptions and permissions. |
| Consumer service crash | Unprocessed events in queue | Use Laravel’s queue:failed table + retries. |
| AWS outage (e.g., SQS region down) | Event delivery halted | Multi-region deployment or fallback queues. |
| Malformed event payload | Consumer failures | Schema validation at dispatch time. |
| Permission errors (IAM) | Events rejected | Automated IAM policy validation (e.g., AWS IAM Access Analyzer). |
How can I help you explore Laravel packages today?