Silky Microservice FrameworkSilky Microservice Framework
Home
Docs
Config
Source
github
gitee
  • 简体中文
  • English
Home
Docs
Config
Source
github
gitee
  • 简体中文
  • English
Silky Microservice Framework

Silky Microservice Framework

A high-performance microservice framework for .NET — make distributed calls as simple as local ones

Quick Start →Framework Overview

🚀 Interface as Service

Interfaces annotated with [ServiceRoute] automatically expose HTTP WebAPI and RPC endpoints — no Controller needed, convention over configuration

🔗 Transparent RPC

Dynamic proxy via DotNetty + Autofac — inject any service interface and call it like a local method, network details fully hidden

🏗️ Multiple Host Types

Web Host, General Host, WebSocket Host, and Gateway Host — choose the right host for every scenario

🗺️ Multi Registry Center

Built-in support for Zookeeper, Nacos, and Consul — switch by changing one config line, real-time online/offline awareness

🛡️ Service Governance

Out-of-the-box load balancing (polling/random/hash), circuit breaking, retry, rate limiting, and fallback — powered by Polly

⚡ Cache Interception

Distributed cache interception on RPC calls reduces network IO dramatically, boosting system throughput; Redis-backed

🔄 TCC Distributed Transaction

Framework-level TCC transaction support via AOP interceptor + Redis journal, guaranteeing cross-service data consistency

🔍 Full-Link Tracing

Integrates SkyAPM to trace HTTP, RPC, TCC, and EFCore operations end-to-end, pinpointing bottlenecks fast

🌐 WebSocket Support

Built-in WebSocket host with server-push capability, proxied through the gateway to front-end clients

📊 Dashboard

Built-in cluster management dashboard — visualize service instance health, CPU usage, and service entry configuration

📝 Swagger API Docs

Aggregates API documentation for all microservices at the gateway level with online debugging support

🔌 Highly Extensible

Fully compatible with the ASP.NET Core middleware pipeline; swap out any component and integrate EFCore, MassTransit, CAP, etc.

Minimal Code, Rapid Microservice Development

Just 3 lines of configuration to transform a standard .NET application into a microservice with service registration, discovery, and RPC:

// Program.cs
var hostBuilder = Host.CreateDefaultBuilder(args)
    .ConfigureSilkyGeneralHostDefaults();  // General Host (RPC only)

await hostBuilder.Build().RunAsync();

Define a service interface with [ServiceRoute] — Silky generates the WebAPI and RPC endpoint automatically:

[ServiceRoute]
public interface IGreetingAppService
{
    Task<string> SayHelloAsync(string name);
}

Other microservices call it via dependency injection — the framework routes the call to the correct instance at runtime:

public class OrderAppService : IOrderAppService
{
    private readonly IGreetingAppService _greetingService;  // Inject another microservice's interface
    // ...
}
MIT Licensed | Copyright © 2021-present Liuhll