Skip to content

Repository files navigation

abrio

Multi-tenant SMS gateway for idempotent message submission, credit reservation, transactional outbox dispatch, priority queues, fair task distribution, and safe retries.

openapi grafana

Run

docker network create abrio-network
docker compose up --build

Test

uv sync --dev
uv run pytest src/tests/unit
docker compose up -d postgres redis rabbitmq
uv run pytest

Load & Benchmark

With the stack running:

uv run python scripts/loadtest.py      # correctness under pressure
uv run python scripts/benchmark.py     # throughput and latency report

Rate limiting is disabled by default so these scripts measure storage, dispatch, and credit behavior without ingress throttling.

Tune with env vars:

HOT_COUNT=4000 uv run python scripts/loadtest.py
TOTAL_MESSAGES=50000 uv run python scripts/benchmark.py

Docs

See docs for architecture, invariants, dispatch flow, and scaling notes.

About

Abrio is a production-oriented proof of concept for a scalable SMS gateway, demonstrating reliable delivery, idempotency, credit management, batching, retries, and reporting with FastAPI, PostgreSQL, RabbitMQ, and Redis.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages