run aspnetcore microservices

其他类别 2025-08-25

Udemy课程带有打折 - 逐步开发此存储库 - > https://www.udemy.com/course/microservices-architection-anchitucture-and-implementation-remplementation-inmplementation-on-dotnet/?couponcode=july2555

请参阅使用.NET工具在现实电子商务微服务项目上使用.NET工具的实现的总体图表;

有几个微服务通过NOSQL(DocumentDB,Redis)关系数据库(Postgresql,SQL,SQL Server)实现了目录,篮子,折扣订购微服务的电子商务模块,并通过RabbitMQ Event驱动的通信和使用YARP API Gateway进行通信。

在介质上检查此存储库的说明

  • .NET 8微服务:DDD,CQR,垂直/干净体系结构和事件驱动的通信

什么包括在此存储库中

我们已经在Run-Aspnetcore-Microservices存储库上实现了以下功能

目录微服务包括;

  • ASP.NET核心最小API和.NET8和C#12的最新功能
  • 带有功能文件夹和单个.cs文件的垂直切片体系结构实现了一个文件中的不同类
  • 使用MediaTR库实施CQRS
  • CQRS验证管道行为具有MediaTR和FulentValidation
  • 在PostgreSQL上使用Marten Library进行.NET交易文档DB
  • 使用Carter进行最小API端点定义
  • 横切问题记录,全球异常处理和健康检查

篮子微服务包括;

  • ASP.NET 8 Web API应用程序,遵循REST API原理,CRUD
  • redis用作篮子上的分布式缓存
  • 实施代理,装饰器和缓存图案
  • 消费折扣GRPC服务用于服务间沟通以计算产品最终价格
  • 使用MassTransit和RabbitMQ发布Basketcheckout队列

折扣微服务包括:

  • ASP.NET GRPC服务器应用程序
  • 与篮子微服务建立高性能的服务间GRPC通信
  • 通过创建Protobuf消息来揭示GRPC服务
  • 实体框架核心ORM - SQLite数据提供商和迁移以简化数据访问并确保高性能
  • SQLITE数据库连接和容器化

微服务通信

  • 同步服务间的GRPC通信
  • 异步微服务与RabbitMQ Message-Broker Service通信
  • 使用RabbitMQ发布/订阅主题交换模型
  • 使用MassTransit通过RabbitMQ消息传播系统进行抽象
  • 从篮子微服务中发布Basketcheckout活动队列,并通过订购微服务订阅此事件
  • 创建Rabbitmq EventBus.messages库,并添加参考文献微服务

订购微服务

  • 使用最佳实践实施DDD,CQR和清洁体系结构
  • 使用MediaTR,FulentValidation和Mopter软件包开发CQR
  • 使用使用MassTransit-RabbitMQ配置消费Rabbitmq Basketcheckout事件队列
  • SQLServer数据库连接和容器化
  • 使用实体框架核心ORM和自动在应用程序启动时迁移到SQLServer

YARP API网关微服务

  • 使用YARP反向代理开发API网关,应用网关路由模式
  • 纱线反向代理配置;路线,集群,路径,变换,目的地
  • YARP反向代理配置上的固定窗口限制限制速率

WebUI购物微服务

  • 带有Bootstrap 4和Razor模板的ASP.NET核心Web应用程序
  • 使用REFIT HTTPCLIENTFACTORY致电YARP API

Docker与Docker上的所有微服务组成;

  • 微服务的容器化
  • 数据库的容器化
  • 覆盖环境变量

运行项目

您将需要以下工具:

  • Visual Studio 2022
  • .NET Core 8或更高版本
  • Docker桌面

安装

请按照以下步骤设置开发环境:(在运行启动Docker Desktop之前)

  1. 克隆存储库
  2. 安装了Windows的Docker后,请转到“设置”>“高级选项” (从系统托盘中的Docker图标),以配置最小内存量和CPU。
  • 内存:4 GB
  • CPU:2
  1. 在解决方案的根目录处,选择Docker-Compose设置一个启动项目运行Docker-Compose而无需在Visual Studio上进行调试。或者,您可以转到包括docker-compose.yml文件的root Directory,在下面运行:
 docker - compose - f docker - compose . yml - f docker - compose . override . yml up - d
  1. 等待Docker构成所有微服务。就是这样! (某些微服务需要额外的时间上班,所以如果不首次关闭,请等待)

  2. 启动购物Web UI-> https:// localhost:6065在您的浏览器中查看索引页面。您可以使用Web项目来通过YARP API网关调用微服务。当您查看篮子时,您可以在RabbitMQ仪表板上遵循队列记录

作者

  • Mehmet Ozkaya-初始工作-Mehmetozkaya

另请参阅参与该项目的贡献者列表。还要检查存储库的GIHTUB页面。

下载源码

通过命令行克隆项目:

git clone https://github.com/aspnetrun/run-aspnetcore-microservices.git