I'm excited to share Amebo, a new open-source HTTP Event Broadcasting library I've been working on. It's designed to act as an asynchronous communication engine that helps decouple your applications from traditional, often complex, messaging systems like PubSub, Kafka, RabbitMQ, or SQS.
The core idea behind Amebo is to provide a simple, HTTP-first API for registering event schemas, submitting message payloads, and broadcasting those events to various destinations. This makes building event-driven architectures or microservices much more straightforward, without the overhead of managing dedicated message brokers for every interaction.
Key highlights:
High Performance: Built for scale with sub-10ms latencies, efficient batching, and connection pooling. It's been battle-tested with millions of requests.
Simple Integration: JSON Schema validation for events, flexible backend support (PostgreSQL, SQLite, Redis), and a clean RESTful design.
Enterprise-Ready: Features like clustering for high availability, built-in authentication/authorization, and observability hooks are baked in.
Flexible Event Delivery: Supports various "Event Engines" for broadcasting, including PubSub, Kafka, RabbitMQ, SQS, and direct Webhook delivery with retries.
Amebo is ideal for scenarios where you need robust, asynchronous communication between services but want to avoid deep integrations with specific messaging queues. Think event sourcing, lightweight service-to-service communication, or reliable webhook delivery.
We've focused on making it easy to deploy (Docker-ready) and simple to integrate into existing Python ecosystems.
You can find the documentation and source code here:
Documentation: https://rayattack.github.io/amebo/
GitHub Repository: [Your GitHub Repo Link Here - e.g., https://github.com/RayAttack/amebo]
I'd love to hear your thoughts, feedback, or any questions you might have. Thanks for checking it out!