See every principle and capability, live.
Each demo is mapped 1:1 to a data-mesh principle — domain
ownership, data as a product, self-serve platform, federated
computational governance — and to the Quarkus capability it
exercises. The runnable examples/ tree and all 19
demos/*.sh scripts are in the repo today — every
card below links straight to the script and the service it
exercises.
Run them all
demos/walkthrough.sh is the five-act presenter
orchestrator that runs the full set back to back. For the
complete demo-by-demo matrix (prereqs, opt-in profiles, what
each one asserts), see
demos/README.md ↗.
First time here? Start with
setup & prerequisites.
Demos by principle
Domain ownership & data as a product
Each domain service — order, inventory, payment, shipping, notification, review — owns its data, its API surface, and its operational lifecycle.
Order-service walking skeleton
demo-order.sh — build, deploy, REST
round-trip against a Panache-backed Postgres entity in
examples/order-service.
Cross-service gRPC
demo-grpc.sh — order-service calls
inventory-service over quarkus-grpc. Proves
domain isolation with clear API boundaries.
Federated read layer
demo-graphql.sh — the
examples/graphql-gateway SmallRye GraphQL
gateway stitches REST and gRPC data products into one
composed query.
Self-serve platform
Kafka messaging with Reactive Messaging
demo-kafka.sh — order-service publishes
order.placed; notification-service consumes
it via Quarkus Reactive Messaging, confirmed on the wire
through Apicurio.
Scale-from-zero autoscaling
demo-keda-kafka.sh and
demo-keda-http.sh — Kafka consumer-lag and
HTTP-concurrency scaling on the local Kubernetes cluster
(opt-in — requires the Istio/KEDA/Strimzi/CloudNativePG
cluster from scripts/bootstrap.sh).
Continuous testing & Dev Services
demo-continuous-testing.sh — live reload,
continuous testing, and Testcontainers-backed Dev
Services as platform capabilities.
Native calls without JNI
demo-panama.sh — a JBang script
(demos/jbang/PanamaFfm.java) calls libc
getpid() and strlen() through
the Foreign Function & Memory API (JEP 454). No
JNI, no C glue, no native build (Linux).
Federated computational governance
Camel EIPs on Quarkus
demo-camel-integration.sh — a Camel route in
examples/ai-mcp-service transforms and
routes a message end-to-end through its EIPs.
AI tool routes
demo-ai-mcp.sh — a Camel route in
examples/ai-mcp-service exposes an
order-lookup tool over MCP; see also
demo-ai-triage.sh and
demo-orchestration-styles.sh for the
Kafka-choreography / Camel-orchestration /
Quarkus-Flow-orchestration comparison.
End-to-end tracing
demo-tracing.sh — a request produces the
expected trace-span shape in the otel-lgtm stack
(Tempo), spanning multiple data products.
Quarkus vs. Spring Boot
One runnable Spring Boot twin service,
examples/spring-boot-compare,
ships alongside its Quarkus counterpart for a real side-by-side
comparison — startup time, memory footprint, and native-image
build (see scripts/compare-quarkus-springboot.sh).
Running a demo
Every demo assumes the local Docker Compose stack (Kafka, Postgres, Apicurio, the observability stack) is running. See setup & prerequisites for the toolchain, then:
cp .env.example .env
docker compose up -d
./demos/demo-order.sh # or any other demos/demo-*.sh
./demos/walkthrough.sh # run the full five-act set
Some demos are opt-in — AI/MCP demos need
docker compose --profile ollama up -d, the native
demo needs a GraalVM/Mandrel build, and the KEDA demos need the
local Kubernetes cluster from scripts/bootstrap.sh. See
demos/README.md ↗
for the full prereqs-by-demo matrix.