// the find
sanshengshui/netty-learning-example
:egg: Netty实践学习案例,见微知著!带着你的心,跟着教程。我相信你行欧。
A collection of standalone Java/Spring Boot modules demonstrating Netty patterns: HTTP server, MQTT broker (called Groza), IM system with group chat, RPC overview, and design pattern examples. It's aimed at Chinese-speaking Java developers learning Netty from scratch, with companion blog posts on cnblogs.com explaining each module.
- The MQTT/IoT module (netty-iot) goes beyond toy examples — it implements QoS levels, retained messages, duplicate publish tracking, and integrates Kafka for message fanout, which is realistic production territory.
- The IM module covers the full pipeline: custom binary protocol with magic number framing, a Spliter to handle TCP stream fragmentation, heartbeat with idle state detection, and auth via channel attributes — all the things tutorials usually skip.
- Design pattern modules (chain of responsibility, decorator, iterator, singleton) are tied directly to Netty's internal design, giving context for why Netty's API looks the way it does rather than just showing abstract GoF examples.
- Dead since October 2022. The README explicitly says 'still being updated' but nothing has moved in over three years, and several modules are marked with a wrench (unfinished) — including netty-kafka and netty-mybatis-mongodb.
- No parent pom — each module is an independent Maven project with its own dependency versions. There's no guarantee they use compatible Netty versions across modules, and upgrading anything requires touching every pom.xml separately.
- The IoT/MQTT module stores session and subscription state in Redis with no documented clustering strategy, and uses in-memory maps as a fallback with no durability guarantee — fine for a demo, a trap if someone ships it.
- Most companion blog posts are on cnblogs.com in Chinese with no English content at all, so the repo is effectively inaccessible to non-Chinese readers despite being on GitHub with global stars.