AutonomousVehicleControlBeginnersGuide
Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.
翻訳待ち
An interactive Apache Kafka lab: a real 3-broker KRaft cluster with producers and consumers in C#, Go and Python, failure injection, guided scenarios, cheat sheets and flashcards.
翻訳待ち
教育JavaScript · C#GitHub @DotPointtオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
A visual Apache Kafka learning lab: a live KRaft cluster map, broker and network failures, load, services in C#, Python and Go, cheat sheets and flashcards (EN/RU)
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Kafka Lab — a visual Apache Kafka learning lab
A live map of a Kafka cluster that shows messages flowing from producers to partitions and consumer groups — and that you can break: stop and "kill" brokers, freeze processes, add latency and packet loss, stage a split brain, crash and hang consumers. Every change shows up on the map immediately and is explained in the event log ("why?").Read the full README ↗English · Русский
A live map of a Kafka cluster that shows messages flowing from producers to partitions and consumer groups — and that you can break: stop and "kill" brokers, freeze processes, add latency and packet loss, stage a split brain, crash and hang consumers. Every change shows up on the map immediately and is explained in the event log ("why?").
🌐 Online demo: https://dotpointt.github.io/kafka-lab/ — cheat sheets, flashcards and a recording of the lab in action (a broker failure, a rebalance, a consumer crash, lag). Breaking the cluster with your own hands works only in the local version — it starts with one command (see "Quick start").
| Component | Language | What it does |
|---|---|---|
| 3 Kafka 4.1 brokers (KRaft, no ZooKeeper) | — | Every node is a broker and a controller; RF=3, min.insync.replicas=2 |
| order-service | C# (.NET 10, Confluent.Kafka) | Order producer (key = customer) + profiles in a compacted topic; a "delivery audit" catches losses and duplicates |
| order-processor | C# | Consumer group order-processing: N consumers on the fly, crash/hang/restart, retries, DLQ, consume → produce |
| analytics | Python (confluent-kafka) | A second consumer group: pause/resume, replaying history, scaling with --scale |
| clickstream-generator | Go (franz-go) | A load producer up to 100k msg/s: batching, compression, acks, backpressure |
| control-center | C# (ASP.NET, AdminClient, Docker API) | Cluster monitoring, failure injection, the web UI |
In the UI:
You need Docker Desktop (≈ 4 GB of free memory for the containers).
docker compose up -d --build
Open http://localhost:8080 in 1–2 minutes.
| Address | What |
|---|---|
| http://localhost:8080 | Kafka Lab (visualization, scenarios, cheat sheets) |
| localhost:19092, 19093, 19094 | Brokers for clients on the host (IDE, kcat) |
| http://localhost:8081 / 8082 / 8084 | HTTP API of order-service / order-processor / clickstream-generator |
| http://localhost:8090 | kafka-ui (only with docker compose --profile ui up -d) |
Stop: docker compose down (the data is kept) or docker compose down -v (wipe everything).
Rebuild one service after changes without touching the brokers: docker compose up -d --build --no-deps order-service
(a plain docker compose up -d --build recreates the brokers too — the data stays on the volumes, but the cluster restarts for a minute).
The .github/workflows/pages.yml workflow publishes a static copy of the UI. Pages has no backend (Kafka, Docker, control-center), so:
demo/recording.json), with pause, seeking and notes on every key moment;Re-record the demo on your own lab: python tools/record-demo.py (about 4 minutes), then commit demo/recording.json.
docker-compose.yml cluster + services
infra/kafka/ broker image (+ iproute2 for tc) and the topic creation script
services/order-service/ C# producer
services/order-processor/ C# consumer group
services/analytics/ Python consumer group
services/clickstream-generator/ Go producer
services/control-center/ C# monitoring + failures + UI (wwwroot)
docs/en/, docs/ru/ cheat sheets (Markdown, shown on the "Cheat sheets" tab)
demo/recording.json the lab recording for the online demo
tools/record-demo.py the demo recording script
.github/workflows/pages.yml publishing to GitHub Pages
More on how it works: docs/en/10-about-lab.md.