Show HN: High Perf. Event Broadcast Engine (PubSub, Kafka, SQS Alternative)

4 months ago 1

Amebo Logo

HTTP Event Notifications Server

Asynchronous Communication Engine for Modern Applications


What is Amebo?

Amebo is a schema registry and event broadcast runtime that enables you to disconnect your applications from traditional messaging systems like PubSub, RabbitMQ, Kafka, and SQS. It provides a simple HTTP API for registering event schemas, submitting message payloads, and broadcasting events to queues, pub/sub servers, or other web applications.

Key Features

🚀 High Performance🔧 Simple Integration🛡️ Enterprise Ready🌐 Flexible Architecture

  • Sub-10ms latencies at scale
  • Battle-tested with 100+ million requests
  • Efficient batching with configurable envelope sizes
  • Connection pooling for optimal database performance
  • HTTP-first API design
  • Schema validation with JSON Schema
  • Multiple backends (PostgreSQL, SQLite, Redis)
  • RESTful endpoints for all operations
  • High availability with clustering support
  • Authentication & authorization built-in
  • Monitoring & observability ready
  • Docker containerization support
  • Microservices communication
  • Event sourcing patterns
  • Webhook delivery with retries
  • Multiple engine support (PubSub, Kafka, RabbitMQ, SQS)

Quick Start

Get Amebo running in under 5 minutes:

Docker (Recommended)Python PackageFrom Source

# Clone the repository git clone https://github.com/rayattack/amebo.git cd amebo # Start the cluster ./start-cluster.sh # Test the API curl http://localhost/v1/applications
# Install Amebo pip install amebo # Create configuration echo '{ "AMEBO_SECRET": "your-secret-key", "AMEBO_DSN": "postgresql://user:pass@localhost/db" }' > amebo.json # Start the server amebo
# Clone and setup git clone https://github.com/rayattack/amebo.git cd amebo # Install dependencies pip install -r requirements.txt # Configure and run cp sample-amebo.json amebo.json python -m amebo.main

Architecture Overview

graph TB A[Client Applications] --> B[Load Balancer] B --> C[Amebo Instance 1] B --> D[Amebo Instance 2] B --> E[Amebo Instance 3] C --> F[PostgreSQL Database] D --> F E --> F C --> G[Event Engines] D --> G E --> G G --> H[PubSub] G --> I[Kafka] G --> J[RabbitMQ] G --> K[Webhooks] style A fill:#e1f5fe style B fill:#f3e5f5 style C fill:#e8f5e8 style D fill:#e8f5e8 style E fill:#e8f5e8 style F fill:#fff3e0 style G fill:#fce4ec

Core Concepts

Amebo has only 4 core concepts to master:

Concept Description Example
Applications Microservices or modules that create and receive events user-service, payment-service
Events Data payloads representing something that happened user-created, payment-processed
Actions Event types with associated JSON schemas user.created with user schema
Subscriptions HTTP endpoints that receive event notifications https://api.example.com/webhooks/user-created

Use Cases

Perfect for

  • Microservices communication
  • Event-driven architectures
  • Webhook delivery systems
  • Real-time notifications
  • Data pipeline orchestration
  • System integration

Why Choose Amebo?

🎯 Simplicity⚡ Performance🔒 Reliability🚀 Scalability

  • 4 core concepts only
  • HTTP-first design
  • JSON Schema validation
  • RESTful API
  • Sub-10ms response times
  • Horizontal scaling support
  • Efficient batching
  • Connection pooling
  • ACID transactions
  • Automatic retries
  • Dead letter queues
  • Health monitoring
  • Multi-instance clustering
  • Load balancing ready
  • Database sharding support
  • Cloud native

License

Amebo is released under the MIT License.


Read Entire Article