微软与社区专家合作,开发了功能齐全的云原生微服务示例应用eShopOnContainers。 功能 & 要求简要回顾eShopOnContainers应用的业务功能和技术目标,示例应用代表一个出售各种实体产品的(例如T恤和咖啡杯)电商平台。 电商平台要实现的一些基本功能: ·列出商品目录·按类型过滤商品·按品牌过滤商品·将商品添加到购物车·编辑或删除购物车中的物品·支付·注册账号·登录·登出·订单审核 示例应用还具有以下非功能性要求: ·必须具有高可用性,并且必须自动扩展以满足不断增长的流量(并在流量减少后再缩减)。·提供易于使用的运行状态监视和诊断日志,以帮助解决遇到的问题。·它应该支持敏捷开发,包括对持续集成和部署(CI/CD)的支持。·除了支持传统的Web前端和SPA Web前端,该应用程序还必须支持不同系统的移动客户端应用程序。·支持跨平台托管和跨平台开发。 Web或移动客户端通过HTTPS访问 API网关具有多种优势,例如将后端服务与各个前端客户端解耦,并提供更好的安全性。 该应用程序还利用了 上面的体系图演示了 示例应用的功能被分解为许多不同的微服务: ·负责身份验证和身份·列出产品目录中的商品·购物车管理以及订单管理。这些独立的服务都有其自己的持久化存储,没有可以与所有服务交互的单个主数据存储, 每个微服务根据其各自的需求独立设计。因此它们的技术堆栈是可以不同的(目前服务均是.NET构建并为云设计)。 简单的服务提供了基本的创建、读取、更新、删除访问(CRUD),而更高级的服务则使用 代码结构因为eShopOnContainers示例程序使用微服务,其GitHub存储库中包含许多独立的项目文件。 下图显示了完整的Visual Studio解决方案,管理组织了各种不同的项目。 该代码被组织为支持不同的微服务,并且在每个微服务中,代码分为领域逻辑、基础设施以及用户界面/服务端点。 Ref· https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/introduce-eshoponcontainers-reference-app· https://github.com/dotnet-architecture/eShopOnContainers |
|