GitHub Pages documentation

Docs for the Cell Offer Queue Service

A compact, GitHub-docs-style landing page for the queue service, backed by the live OpenAPI spec from /v3/api-docs/v1 and designed to stay readable on GitHub Pages.

3 REST endpoints
1 OpenAPI group
8080 HTTP port
9090 gRPC port
What it does

Cell-based offer ingestion

Accept driver offers per H3 cell, queue them with TTL and priority, then surface queue depth and counters.

Push path

At-least-once delivery

The push gateway keeps live messages until client ACK, then prunes them explicitly after receipt confirmation.

Observability

Metrics and health

Micrometer counters and gauges expose cell queue depth, push queue depth, and active session state.

Run locally

mvn spring-boot:run

The service starts on port 8080 for HTTP and 9090 for gRPC.

Create an offer

curl -s -X POST http://localhost:8080/cells/8928308280fffff/offers \
  -H 'Content-Type: application/json' \
  -d '{"driverId":"d-001","riderId":"r-001","priority":5,"ttlMillis":5000}'

Inspect and evaluate live Citrus config

Run a probe to see the resolved value, active experiment, and assigned bucket.

Generate offer traffic against a chosen cell

Idle.

Run a load simulation to enqueue offers and inspect the resulting cell stats.

Live endpoint catalog

Queue-to-push flow

  1. DispatchController accepts per-cell offers and forwards them into the queue manager.
  2. OfferFlusher drains due offers and hands them to the push client.
  3. PushServiceImpl stores messages, handles ACKs, and drains streams on readiness.

Why this site exists

It gives the repository a lightweight GitHub Pages landing page with a docs.github.com-inspired layout, while keeping the generated OpenAPI document available as a downloadable asset.

Important properties

PropertyDefaultDescription
cell.offer.max-queue-size100Max offers per cell before eviction.
push.gateway.dispatch-batch-size10Messages drained per on-ready event.
push.gateway.heartbeat-interval-ms10000Server heartbeat cadence.
push.gateway.default-ttl-ms30000Default push message TTL.