microsurging/surging

Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. support Event-based Asynchronous Pattern and...

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 hours ago
Added to GitGenius on September 21st, 2026
Created on June 16th, 2017
Open Issues & Pull Requests: 255 (+0)
GitHub issues: Enabled
Number of forks: 918
Total Stargazers: 3,264 (+0)
Total Subscribers: 299 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.9 hours
Mean response time: 16.8 days
90th percentile: 83.8 days
Tracked items: 5

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 436 days
Stale 30+ days: 5
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Surging is a distributed microservice framework that provides high-performance RPC remote service calls with a lightweight, modular architecture supporting event-based asynchronous patterns and reactive programming.

The framework addresses the complexity of building distributed systems by simplifying service-to-service communication through automatic service registration and discovery. It uses Zookeeper or Consul as service registries and implements multiple load-balancing algorithms including hash-based, random, round-robin, and least-pressure-first approaches. RPC communication can be configured with either Netty or Thrift frameworks using asynchronous non-blocking transport. The tool includes a distributed cache middleware using consistent hashing with health checks, an event bus for publish-subscribe interaction patterns, and built-in fault tolerance and circuit-breaking mechanisms.

Surging suits teams building microservice architectures in .NET environments who need service orchestration, load balancing, and inter-service communication without extensive configuration. It is designed for scenarios where services need to be independently deployable and loosely coupled while maintaining reliable communication. The framework integrates with containerization platforms and supports continuous integration and deployment workflows through Docker and Kubernetes orchestration. It can be deployed via Docker Hub or installed through NuGet package management.

The project maintains active development with ongoing enhancements to core microservice capabilities. The codebase demonstrates continuous refinement of the RPC pipeline and service discovery mechanisms. Development activity shows sustained attention to both the framework's foundational components and integration with the broader microservice ecosystem including message brokers, caching systems, and distributed tracing tools.