ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证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.