# 微服务 **Repository Path**: myzhangxiaohu/KSJ.MSA ## Basic Information - **Project Name**: 微服务 - **Description**: 本框架主要采用微服务架构开发, 主要采用技术: ORM:SqlSugarCore 事件总线:MassTransit 链路追踪:SkyWalking API网关:Ocelot 微服务管理:Consul 授权管理:IdentityServer4,备注采用IdentityServer4加SqlSugar进行二次开发 AOP:AspectCore 调度器:Hangfire 分布式日志:Exception - **Primary Language**: C# - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-10-05 - **Last Updated**: 2024-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KSJ.MSA 微服务 1. KSJ.MAS微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备系统管理、网关API管理、签权授权管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。 核心技术采用.net 8.0、IdentityServer4以及MassTransit 相关核心组件,采用Consul注册和配置中心 2. 签权授权I管理主要基于IdentityServer4+SqlSugar进行两次开发,类似 IdentityServer4官网的IdentityServer4.EntityFramework,主要包括功能有,前端、后端,实现签权授权可视化配置 3. 网关API管理主要采用Consul中的k/v方式进行配置管理,同时可以通过前端进行可视化配置 #### 主要采用技术介绍 1. ORM:SqlSugarCore 2. 事件总线:MassTransit [MassTransit官网](https://masstransit.io) 3. 链路追踪:SkyWalking [skywalking官网](https://skywalking.apache.org) 4. API网关:Ocelot 5. 微服务管理:Consul 6. 授权管理:IdentityServer4,备注采用IdentityServer4加SqlSugar进行二次开发 7. AOP:AspectCore 8. 调度器:Hangfire 9. 分布式日志:Exception [exceptionless官网](https://be.exceptionless.io/) #### 软件架构 软件架构说明 #### 运行顺序 - /*************1~4都启动微服务需要的相关工具*******************/ 1. 启动用consul_1.8.0 - 命令:  consul agent -dev -client 0.0.0.0 -ui  - http://127.0.0.1:8500/ - /******************如果需要启动本地Exceptionless,那么就需要启动kibana、elasticsearch***************************/ 2. 启动elasticsearch - 命令:  elasticsearch.bat - http://127.0.0.1:9200 3. 启动kibana - 命令: kibana.bat - http://localhost:5601 4. 启动skywalking - 命令: startup.bat - http://localhost:8080 - /*************5~N都启动微服务*******************/ 5. 启动 API网关 - dotnet KSJ.MSA.Gateway.WebAPI.dll --urls=http://*:5200 --ip="127.0.01" --port=5200 6. 启动 网关配置Web API - dotnet KSJ.MSA.Gateway.WebAPI.dll --urls=http://*:5200 --ip="127.0.01" --port=5100 7. 启动 IdentityServer4相关 - dotnet KSJ.MSA.IdentityServer4.WebAPI.dll --urls=http://*:5300 --ip="127.0.01" --port=5300 8. 启动elasticsearch - 工具\分布式日志\elasticsearch-8.15.0\bin\elasticsearch.bat - 通过http://127.0.0.1:9200验证 9200是默认端口 9. 测试分布式日志是否部署 - 服务端 - http://localhost:5255/docs/index.html - 客户端 - http://localhost:5400/#!/login 10. 启动系统管理微服务 - dotnet KSJ.MSA.System.WebAPI.dll --urls=http://*:8000 --ip="127.0.01" --port=8000 11. 使用系统管理-->获取所有用户 - http://localhost:5200/T1/Users/QueryALL #### 使用说明 #### IdentityServer4使用说明 #### 1. 声明配置(Claims) ![输入图片说明](Claims.png) #### 2. 作用域配置(apiScopes) ![输入图片说明](apiScopes.png) #### 3. 身份资源配置(IdentityResource) ![输入图片说明](IdentityResource.png) #### 4. apiResources配置 ![输入图片说明](apiResources.png) #### 5. 客户端配置(client) ![输入图片说明](client.png) #### 网关配置 #### 1. Consul服务器相关配置 ![输入图片说明](QQ20240922-140732.png) #### 2. Consul 预览 ![输入图片说明](consulPreview.png) #### 3.全局配置 ![输入图片说明](globalConfiguration.png) ![输入图片说明](globalConfiguration2.png) ![输入图片说明](globalConfiguration3.png) ![输入图片说明](globalConfiguration4.png) #### 4.项目配置 ![输入图片说明](project.png) #### 5.identity4服务端配置 ![输入图片说明](identityServer.png) #### 6.Consul相关 ![输入图片说明](Consul.png) ![输入图片说明](Consul2.png) #### SkyWalking工具 ![输入图片说明](SK.png) #### Exceptionless工具 ![输入图片说明](Exceptionless.png) #### Hangfire调度器 ![输入图片说明](image.png) #### 开发人联系 因为gitee为免费版,容量有限,所以关于微服务数据库、工具,jdk等没有上传,如果需要可以使用以下方式联系 - **邮箱:** 283033055@qq.com - **微信:** gang_5584162 #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)