{"adoption": {"forks": 383, "observed_at": "2026-08-28T04:06:03.480538+00:00", "stars": 1996}, "canonical_url": "https://ross.abutalabs.com/products/tubemq", "card": {"archived": false, "artifact_type": "service", "description": "TubeMQ has been donated to the Apache Software Foundation and renamed to InLong, please visit the new Apache repository: https://github.com/apache/incubator-inlong", "domain": ["big-data", "microservices"], "enriched": true, "function": ["message-queue", "streaming", "etl", "data-science"], "health_score": 20, "homepage": "https://inlong.apache.org/", "language": null, "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["Tencent/TubeMQ"], "name": "Tencent/TubeMQ", "platform": ["self-hosted", "cloud"], "pushed_at": "2021-12-14T02:00:35+00:00", "repo": "Tencent/TubeMQ", "stars": 1996, "tags": ["tubemq", "inlong", "data-ingestion", "data-subscription", "apache", "tencent", "pub-sub", "data-engineering", "messaging", "linux", "docker"], "topics": [], "urls": [], "use_cases": ["ingest massive data streams into a data platform", "publish and subscribe to data topics at trillion-scale", "synchronize data between systems in real time", "build streaming ETL pipelines for log and event data", "replace kafka with a low-cost high-throughput message queue"], "what_it_is": "TubeMQ was Tencent's high-performance message queue, donated to the Apache Software Foundation in 2019 and renamed Apache InLong. This repository is deleted and only retains a readme pointing to the successor project at apache/incubator-inlong.", "when_to_avoid": ["you want to use TubeMQ itself - this repository is deleted and abandoned", "you need a lightweight embedded message queue", "you want a simple managed pub/sub without operating a self-hosted platform"], "when_to_choose": ["you need a one-stop data ingestion, synchronization, and subscription framework", "you need extremely high-throughput, low-cost message queuing proven at Tencent scale", "you want batch and stream data integration in one platform"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tubemq", "repo": "Tencent/TubeMQ", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "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:06:03.480538+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:03.480538+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:02:28.350750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e66df25a7fea73d65b6b1835698cb2f6d0f1c8f1dcb7aeb40b0df581cfbdf07a", "fetched_at": "2026-08-28T04:06:03.480538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/TubeMQ"}, {"content_hash": "511f06010bdc6b6c711620c3fac26d63c02c0f65fab1ecaefc48c1504f0226b2", "fetched_at": "2026-08-29T10:42:28.592619+00:00", "kind": "homepage", "missing": false, "url": "https://inlong.apache.org/"}, {"content_hash": "9f3b766b5b1214629e7355aa5a3ca15df695ce840b7c3b313eff334ea8dc0018", "fetched_at": "2026-08-29T10:42:28.602032+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/introduction"}, {"content_hash": "985f9dd6915de566f8a3b5e9028b64b8b4e01e67c1f931b04f7e905235a81e4d", "fetched_at": "2026-08-29T10:42:28.611006+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/next/introduction"}, {"content_hash": "1f7413bb5ce2eeb252c7c063eaec4676e0782d99d84201cad25eee3d4dd4ac66", "fetched_at": "2026-08-29T10:42:28.613351+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/2.3.0/introduction"}, {"content_hash": "ac3ab9b526bee4934f7f41862642c616c0a8d3f00ccf133eaa05a7092dc7c721", "fetched_at": "2026-08-29T10:42:28.615136+00:00", "kind": "site_page", "missing": false, "url": "https://inlong.apache.org/docs/contact"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2548, "days_push": 1724, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}