Silky微服务框架在线文档Silky微服务框架在线文档
首页
文档
配置
源码解析
博文
github
gitee
  • 简体中文
  • English
首页
文档
配置
源码解析
博文
github
gitee
  • 简体中文
  • English
Silky 微服务框架

Silky 微服务框架

基于 .NET 平台的高性能微服务开发框架,让微服务开发像本地调用一样简单

快速上手 →框架简介

🚀 接口即服务

标注 [ServiceRoute] 的接口自动生成 HTTP WebAPI 与 RPC 端点,无需手写 Controller,约定优于配置

🔗 透明 RPC 调用

基于 DotNetty + Autofac 动态代理,依赖注入接口即可透明调用远程服务,与调用本地方法体验完全一致

🏗️ 多种主机类型

支持 Web 主机、通用主机、WebSocket 主机、网关主机,满足不同场景需求,一键切换

🗺️ 多注册中心

内置支持 Zookeeper、Nacos、Consul,切换注册中心只需修改一行配置,服务实例上下线实时感知

🛡️ 服务治理

开箱即用的负载均衡(轮询/随机/哈希)、熔断、重试、限流、服务降级,基于 Polly 实现

⚡ 缓存拦截

RPC 通信过程中通过分布式缓存拦截减少网络 IO,极大提升系统吞吐量,支持 Redis 缓存

🔄 TCC 分布式事务

框架级别的 TCC 事务支持,通过 AOP 拦截器 + Redis 日志保证跨服务数据最终一致性

🔍 全链路追踪

集成 SkyAPM 实现 HTTP / RPC / TCC / EFCore 全维度链路追踪,快速定位性能瓶颈

🌐 WebSocket 支持

内置 WebSocket 主机类型,支持服务端主动推送消息,通过网关代理与前端建立会话

📊 Dashboard 管理端

内置集群管理 Dashboard,可视化查看服务实例状态、CPU 使用率、服务条目配置等信息

📝 Swagger 在线文档

自动聚合所有微服务的 API 文档,网关侧统一展示,支持在线调试

🔌 高度可扩展

兼容完整 ASP.NET Core 中间件体系,可自由替换底层组件,无缝集成 EFCore、MassTransit、CAP 等

极简代码,快速构建微服务

只需 3 行配置,普通 .NET 应用即可变身具有服务注册、发现、RPC 通信能力的微服务:

// Program.cs
var hostBuilder = Host.CreateDefaultBuilder(args)
    .ConfigureSilkyGeneralHostDefaults();  // 通用主机(仅 RPC)

await hostBuilder.Build().RunAsync();

定义服务接口,标注 [ServiceRoute],框架自动生成 WebAPI 和 RPC 端点:

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

其他微服务通过依赖注入直接调用,框架在运行时自动路由到目标服务实例:

public class OrderAppService : IOrderAppService
{
    private readonly IGreetingAppService _greetingService;  // 注入另一个微服务的接口

    public OrderAppService(IGreetingAppService greetingService)
    {
        _greetingService = greetingService;
    }

    public async Task<string> CreateAsync(string customerName)
    {
        // 像调用本地方法一样,框架自动通过 RPC 路由到 Greeting 微服务
        return await _greetingService.SayHelloAsync(customerName);
    }
}

在线示例

  • Hero 权限管理系统 — 基于 silky 构建的完整企业级权限管理系统,涵盖多租户、RBAC 权限、组织机构管理

加入我们

欢迎提交 Issue、PR 或加入 QQ 群参与讨论:934306776

qq-group.jpg

MIT Licensed | Copyright © 2021-present Liuhll