ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
실제 3브로커 KRaft 클러스터와 C#, Go, Python 생산자·소비자를 활용한 인터랙티브 Kafka 실습실
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온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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)
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
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?").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.