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.