eShopOnAbp:ABP Framework 微服务解决方案参考项目

Reference microservice solution built with the ABP Framework and .NET, runs on Kubernetes with Helm configuration, includes API Gateways, Angular and ASP.NET Core MVC applications, PostgreSQL and MongoDB databases

分支14Tags2
文件最后提交记录最后更新时间
1 年前
1 年前
1 年前
2 年前
4 年前
2 年前
1 年前
1 年前
1 年前
2 年前
4 年前
2 年前
2 年前
4 年前
4 年前
1 年前
4 年前
2 年前
1 年前
4 年前
4 年前
2 年前
3 年前
2 年前
4 年前

eShopOnAbp

本项目是一个参考项目,旨在帮助那些希望使用ABP框架构建微服务解决方案的开发者。

⚠️ 重要通知
"eshoponabp" 项目已过时。它曾作为一个使用 ABP 框架的微服务架构参考项目,但现在我们推荐使用 ABP 微服务解决方案模板 来创建新项目。

新模板为使用 ABP 构建微服务提供了一个现代化且官方支持的起点。请考虑切换到新模板以获取最新功能和改进。

问题反馈

请在主 GitHub 仓库中提交问题:https://github.com/abpframework/abp/issues

如何运行?

你可以在 Visual Studio 中运行该项目,或者使用 Microsoft Tye。Tye 是一款开发者工具,可以简化微服务和分布式应用程序的开发、测试和部署。

环境要求

  • .NET 6.0 运行时(Tye 所需)
  • .NET 9.0 SDK
  • Docker
  • Yarn v1.20+(非 v2)或 npm v6+(随 Node 安装)

操作步骤

  • 克隆仓库(eShopOnAbp

  • 安装 Tye(遵循 安装步骤

    dotnet tool update --global Microsoft.Tye --prerelease
    
  • .env.example 文件重命名为 .env 文件,并填写 PayPal 的 ClientID 和 Secret。

  • 执行 run-tye.ps1

  • 等待所有应用程序启动!

    • 你可以从 tye 仪表板(localhost:8000)检查正在运行的应用程序
    • 注意:如果在 tye 仪表板或控制台中发现所有应用程序不断重启,可能是 SSL 证书问题。为了更好地诊断问题,请检查任意应用程序的日志。如果是 SSL 相关问题,可能是因为 Powershell 授权问题导致开发者证书创建失败。检查 PowerShell 脚本的运行配置,并将本地机器的策略设置为如下:
    Get-ExecutionPolicy -list
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
    

    查看 Microsoft Powershell 文档 获取更多信息。

  • 当所有后端服务启动后,开始运行 Angular 应用程序:

    cd apps/angular
    yarn start
    

证书过期

如果证书过期,你将看到以下错误:

生成新的证书可以解决这个问题。要生成新的证书:

  • 删除 etc/dev-cert/localhost.pfx

  • 手动执行 create-certificate.ps1 重新运行 run-tye.ps1

发展规划

1.0 版本

  • 新的空白微服务解决方案
  • 创建部署场景
  • 创建空的业务服务
  • 在服务中实现业务逻辑
    • 通过 PayPal 支付
    • 篮子、目录、订单服务
  • 创建 Docker 镜像
  • 为本地 k8s 集群创建 Helm 部署
  • 将 Ocelot 切换到 YARP 公共网关
  • 对目录微服务使用 gRPC
  • 服务的管理端
  • 管理应用程序(用于通过仪表板管理和订单)
  • 部署到 azure k8s(https://eshoponabp.com

2.0 版本

  • 在购物应用程序上添加产品详情页面(与 CMS-kit 集成评论和评分组件)
  • 将 AuthServer 中的 IdentityServer 切换为 Keycloak
  • 重新设计授权/权限管理
  • 集成新的用 GoLang(或 Python / Java)编写的样本微服务

文档

  • 我们将创建一本电子书来解释这个解决方案

当前架构

eSopOnAbp 第一阶段

ABP 社区讨论

我们组织了一场与此解决方案相关的聚会。你可以在这里观看:https://community.abp.io/events/microservice-development-iv7d46ov

项目介绍

Reference microservice solution built with the ABP Framework and .NET, runs on Kubernetes with Helm configuration, includes API Gateways, Angular and ASP.NET Core MVC applications, PostgreSQL and MongoDB databases

定制我的领域