应用服务网格 ASM-Bookinfo应用的灰度发布实践:Bookinfo应用分析

时间:2024-06-24 17:16:32

Bookinfo应用分析

Bookinfo是一个模仿在线书店的应用,页面上会显示一本书籍的描述,书籍的细节(如页数),以及关于书籍的一些评论。

Bookinfo应用由四个单独的服务构成,几个服务是由不同的语言编写的。这些服务对应用服务网格ASM并无依赖,但是构成了一个有代表性的服务网格的例子,即由多个服务、多个语言构成,且reviews服务具有多个版本。这四个服务的说明如下:

  • productpage:会调用details和reviews两个服务,用来生成页面。
  • details:包含了书籍的信息。
  • reviews:包含了书籍相关的评论,同时会调用ratings服务。
  • ratings:包含了由书籍评价组成的评级信息。

其中,reviews服务有3个版本:

  • v1(1.17.0)版本不会调用ratings服务。
  • v2(1.17.1)版本会调用ratings服务,并使用1到5个黑色星形图标来显示评分信息。
  • v3(1.17.2)版本会调用ratings服务,并使用1到5个红色星形图标来显示评分信息。

为了直观的展示灰度版本之间流量切换情况,本教程以reviews服务的1.17.1版本(黑星形)、1.17.2版本(红星形)为例进行说明。

图2 Bookinfo应用的端到端架构

在ASM中运行Bookinfo应用,无需对应用自身做出任何改变,只需简单的在ASM环境中对服务进行配置和运行,即把Envoy Sidecar注入到每个服务之中。最终的部署结果如图3所示。

图3 Envoy Sidecar注入之后的Bookinfo应用

所有的服务都和Envoy Sidecar集成在一起,被集成服务的所有出入流量都被Sidecar所劫持,这样就可以利用ASM为应用提供服务路由、遥测数据收集以及策略实施等功能。

support.huaweicloud.com/qs-asm/asm_qs_0001.html