{"adoption": {"forks": 808, "observed_at": "2026-08-28T04:07:30.927873+00:00", "stars": 2937}, "canonical_url": "https://ross.abutalabs.com/products/netty-learning-example", "card": {"archived": false, "artifact_type": "learning-resource", "description": ":egg: Netty实践学习案例，见微知著！带着你的心，跟着教程。我相信你行欧。", "domain": ["developer-tools", "tutorials", "networking", "iot"], "enriched": true, "function": ["http-server", "rpc", "serialization", "websocket"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["sanshengshui/netty-learning-example"], "name": "sanshengshui/netty-learning-example", "platform": ["jvm"], "pushed_at": "2022-10-04T23:38:25+00:00", "repo": "sanshengshui/netty-learning-example", "stars": 2937, "tags": ["netty", "learning-examples", "mqtt", "protobuf", "im", "kafka", "java"], "topics": ["netty", "http", "protobuf", "mqtt", "fastjson", "zero-copy", "kafka", "rpc", "iot", "im"], "urls": [], "use_cases": ["learn netty from practical examples", "build an mqtt iot server with netty", "integrate netty with spring boot and protobuf", "implement an instant messaging server in java", "understand netty rpc communication", "persist netty data to mysql or mongodb"], "what_it_is": "A collection of hands-on Netty learning examples in Java, covering HTTP servers, MQTT IoT servers, protobuf integration with Spring Boot, IM chat, and RPC. Each example is paired with tutorial blog posts for Netty beginners and core-concept reinforcement.", "when_to_avoid": ["you need a production-ready networking framework rather than learning examples", "you work outside the JVM/Java ecosystem", "you need actively maintained, up-to-date code - the last release was 2022"], "when_to_choose": ["you are a Java developer learning Netty from scratch", "you want tutorial-backed example code for Netty protocols like HTTP, MQTT, and protobuf", "you need reference implementations for IM or IoT servers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/netty-learning-example", "repo": "sanshengshui/netty-learning-example", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.927873+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:33:09.024775+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfafb1ccd63b54da010f25cb7e153ac43e637882d927ee3b9ddb483b9718fbf5", "fetched_at": "2026-08-28T04:07:30.927873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sanshengshui/netty-learning-example"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2906, "days_push": 1429, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}