关于 product catalog 应用

应用的架构

将在 App Mesh 上创建的示例应用称为Product Catalog,可用于电商服务。 我们尝试选择不同的技术框架来构建应用,以体现基于微服务的应用的多样性。

此应用由三个微服务组成:

Product Catalog App without App Mesh 前端

  • 前端服务 frontend-node 显示Product Catalog 项目的 UI

  • 在 Nodejs 中使用 ejs 模板开发

  • 部署到 EKS Managed Nodegroup

  • Product Catalog后端

    • 后端服务

      prodcatalog
      

      是一个 Rest API 服务,执行以下操作:

      • 将产品添加到产品目录
      • 从产品目录中获取产品
      • 调用 Catalog Detail 后端服务 proddetail 以获取供应商等产品目录详细信息
      • 从产品目录中获取所有产品
      • 用 Python Fask Restplus 开发,集成 Swagger UI for Rest API
      • 部署到EKS Fargate
/products

{
    "products": {
        "1": "Table",
        "2": "Chair"
    },
    "details": {
        "version": "2",
        "vendors": [
            "ABC.com",
            "XYZ.com"
        ]
    }
}
  • Catalog Detail 后端

    • 后端服务 proddetail 是一个 Rest API 服务,执行以下操作:

      • 获取目录详细信息,包括版本号和供应商名称
      /catalogDetail
      
      {
          "version": "2",
          "vendors": [
              "ABC.com",
              "XYZ.com"
          ]
      }
      
    • 用 Nodejs 开发

    • 部署在 EKS Managed Nodegroup

从上图中,Product catalog应用中服务之间的调用关系可以概括为:

  • 前端frontend-node »»> 调用»»> Product Catalog后端prodcatalog
  • Product Catalog后端prodcatalog»»> 调用»»> Catalog Detail后端proddetail