简介
silky 示例项目 位于项目根目录下的 samples 目录,主要演示如何通过 silky 框架快速构建一个分布式微服务应用。
示例项目主要由两部分构成:
- 业务微服务应用模块:包含账户、订单、库存三个独立的微服务
- 网关应用:作为集群的统一流量入口
示例演示的功能
| 功能 | 说明 |
|---|---|
| 项目分层结构 | 应用接口层、应用层、领域层、基础设施层的典型划分 |
| 应用服务定义与实现 | [ServiceRoute] 特性的使用方式 |
| 服务间 RPC 通信 | 通过应用接口代理实现透明调用 |
| 缓存拦截 | GetCachingIntercept、RemoveCachingIntercept 等缓存特性的使用 |
| 分布式事务 | 通过下订单场景演示 TCC 分布式事务的使用 |
| 统一认证授权 | 网关层 JWT 认证与授权 |
开发者可通过以下博文深入学习示例项目:
快速启动示例项目
步骤一:启动基础服务
进入 samples/docker-compose/infrastr 目录,通过 docker-compose 启动所需的基础服务(Zookeeper、Redis、MySQL):
docker-compose -f docker-compose.mysql.yml -f docker-compose.redis.yml -f docker-compose.zookeeper.yml up -d
步骤二:执行数据库迁移
分别进入各微服务的 EntityFrameworkCore 项目目录,执行数据库迁移:
dotnet ef database update
步骤三:运行示例项目
使用 Visual Studio 2022+ 或 JetBrains Rider 打开解决方案,设置多项目启动(网关 + 各业务微服务),或分别启动各个项目。
启动所有服务后,通过网关的 Swagger 文档地址(如 http://localhost:5000/index.html)查看和调试 API。
其他示例
Silky.Hero 权限管理系统
Silky.Hero 是基于 silky 框架构建的完整企业级权限管理系统,包含以下特性:
- 多租户支持
- 基于 RBAC 的权限管理
- 完整的用户、角色、组织机构管理
- 基于 Vue 3 的前端界面
演示地址:https://hero.silky-fk.com
账号信息(租户 silky):
- 管理员:
admin/123qweR! - 普通用户:
liuhll/123qweR!
