eShopOnAbp
这是一个供想要使用ABP框架构建微服务解决方案的人参考的项目。
更多信息请查看博客文章。
在线演示 👉 https://www.eshoponabp.com/
问题
请在主GitHub仓库提出问题:https://github.com/abpframework/abp/issues
如何运行?
您可以在Visual Studio中运行,或使用Microsoft Tye。Tye是一个开发者工具,可以让开发、测试和部署微服务及分布式应用变得更容易。
要求
- .NET 6.0 运行时(Tye需要)
- .NET 8.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
仪表板或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部署 ✔️
- 在公共Web网关中将Ocelot替换为
EnvoyYARP ✔️ - 为目录微服务使用gRPC ✔️
- 服务的管理端 ✔️
- 管理应用程序(用于管理产品和订单的仪表板) ✔️
- 部署到Azure K8s ✔️ (https://eshoponabp.com)
版本2.0
- 购物应用程序的产品详情页(集成CMS套件的评论和评分组件) ✔️
- 在AuthServer中从IdentityServer切换到Keycloak
- 重新设计授权/权限管理
- 集成用GoLang(或Python / Java)编写的新示例微服务
文档
- 我们将创建一本电子书来解释这个解决方案
当前架构
ABP社区讨论
我们组织了一次与此解决方案相关的线上聚会。您可以在这里观看:https://community.abp.io/events/microservice-development-iv7d46ov