{"adoption": {"forks": 921, "observed_at": "2026-08-28T04:07:52.828211+00:00", "stars": 3263}, "canonical_url": "https://ross.abutalabs.com/products/surging", "card": {"archived": false, "artifact_type": "framework", "description": "Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline.  support Event-based Asynchronous Pattern and reactive programming.", "domain": ["microservices", "backend", "apis"], "enriched": true, "function": ["rpc", "microservices", "api-gateway", "message-queue", "serialization", "caching", "service-discovery", "middleware", "tracing"], "health_score": 66, "homepage": "http://surging.kayakiot.cn:5173/", "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["microsurging/surging"], "name": "microsurging/surging", "platform": ["dotnet", "cross-platform"], "pushed_at": "2026-04-10T09:36:16+00:00", "repo": "microsurging/surging", "stars": 3263, "tags": ["dotnet-core", "service-engine", "event-bus", "load-balancing", "consul", "zookeeper", "netty", "rabbitmq", "grpc", "skywalking", "messaging", "docker", "kubernetes"], "topics": ["microservices", "apigateway", "surging", "rabbitmq", "messagepack", "protobuffer", "json-serialization", "consul", "zookeeper", "log4net", "kafka", "redis", "memorycache", "nlog", "swagger", "kestrel", "dns-server", "skywalking", "grpc", "apollo"], "urls": [], "use_cases": ["build microservices in .NET Core with RPC between services", "service registration and discovery with Consul or ZooKeeper", "add an API gateway in front of microservices", "publish/subscribe messaging via an event bus with RabbitMQ or Kafka", "load balancing and fault tolerance for internal service calls", "distributed caching with consistent hashing", "containerized CI/CD deployment of services on Docker and Kubernetes"], "what_it_is": "Surging is a distributed microservice engine for .NET Core providing a lightweight, high-performance, modular RPC pipeline with service registration and discovery via ZooKeeper or Consul. It integrates load balancing, fault tolerance, an event bus, distributed caching, and supports transports like DotNetty, RabbitMQ, and gRPC with MessagePack or protobuf serialization.", "when_to_avoid": ["your stack is not .NET/.NET Core", "you need a mainstream framework with a very large community and ecosystem (e.g., Service Mesh or ASP.NET Core + gRPC)", "you only need simple REST APIs without service mesh features"], "when_to_choose": ["you are building a .NET Core microservice system needing high-performance RPC", "you want built-in service discovery, load balancing, and an event bus in one engine", "you prefer modular middleware (cache, eventbus, storage) with domain-driven service modules"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/surging", "repo": "microsurging/surging", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "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:52.828211+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.828211+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:43:51.675762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f70ca7d532e0241254ebfb6b038c64e576b313a2215191cb80753e1a7216d84", "fetched_at": "2026-08-28T04:07:52.828211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsurging/surging"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 76, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3365, "days_push": 145, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}