# SX-Microservices **Repository Path**: kk_kkkuyz/sx-microservices ## Basic Information - **Project Name**: SX-Microservices - **Description**: .net core 微服务示例,其中包含RabbitMq,Grpc,Consul,Redis,IdentityServer4、Ocelot,SqlSuagr,MongoDb - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2022-06-27 - **Last Updated**: 2022-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SX-Microservices #### 介绍 基于.NetCore3.1微服务框架 1. 包括基于 RabbitMq的EventBus ,能对分布式事务进行处理。 2. Orm采用SqlSuagr, 3. 统一认证授权采用IdentityServer4, 4. 服务间通信采用GRPC, 5. 网关使用Ocelot,包括限流、熔断。 6. 服务发现和注册使用Consul。 7. 定时任务hangfire。 8. 缓存采用redis。 9. 数据存储采用SqlServer和MongoDB。 10. 日志记录ExceptionLess #### 软件架构 ![整体架构](Images/架构.PNG) #### 解决方案 ![项目结构](Images/项目结构.PNG) #### 运行步骤 1. 把DbInitSql下的sql脚本运行建表,创建基础服务和产品服务数据库。 2. 前提安装RabbitMq,Consul,Redis 3. 认证服务采用EfCore CodeFirst生成表结构,先删除Migrations文件夹,然后执行命令如下: //EF迁移数据库 1. Add-Migration InitialCreate -Context ConfigurationDbContext -OutputDir Migrations\Configuration 2. Add-Migration InitialCreate -Context ApplicationDbContext -OutputDir Migrations\Application 3. Add-Migration InitialCreate -Context PersistedGrantDbContext -OutputDir Migrations\PersistedGrant 4. update-database -context ConfigurationDbContext 5. update-database -context ApplicationDbContext 6. update-database -context PersistedGrantDbContext 7. dotnet run seed 生成数据 4. 认证服务,基础服务,产品服务,网关服务,都需要修改appsetting.json下的数据库连接配置和Redis配置 5. 确保rabbitmq,redis,consul已运行,先启用认证服务,再启动网关服务,再启动基础服务和产品服务。 #### 特别说明 目前暂没前端代码,只有API服务, 有疑问可以给我留言。