利用 MicroProfile 分布式跟踪和 Istio 对微服务部署进行故障诊断  

通过模拟的制造设备管理端到端请求流

Description

在本 Code Pattern 中,我们将了解 Open LibertyMicroProfileOpen Tracing 如何与 Istio 配合使用,基于原始检测工艺商店,通过模拟的制造设备创建端到端的请求流视图。您将了解分布式跟踪,并掌握捕获、直观呈现和解释各个请求所发生状况的方法。

概览

向基于容器的分布式微服务架构转变带来了很多好处,但同时也有一些弊端。虽然通过利用 Kubernetes,将整体服务拆分为多个小型服务(这些小型服务使用多个网络请求来完成每个事务)的过程变得比以往任何时候都要简单,但在可观察性、问题确定和根源分析等方面,工程师和操作团队却面临诸多挑战。

IBM、Google 和 Lyft 携手打造的 Istio 创建了一个服务网格,可以集成到像 Kubernetes 这样的容器编排平台中。 虽然 Istio 提供的一系列技术承诺增强系统可观察性,但开发者应注意到利用这些功能的新需求。


操作流程

通过使用提供的脚本在 Kubernetes/Istio 集群中部署时,此样本应用程序包含六项微服务,每项微服务都以各不相同的方式表现出无法利用分布式跟踪来演示问题确定能力。进入入口网关的请求按如下顺序通过该应用程序。

  1. Istio 入口网关将请求转发至 instrument-craft-shop 名称下注册的服务。
  2. instrument-craft-shop 服务调用 maker-bot 服务,此服务启动“处理管道”。
  3. “处理管道”由四个步骤组成,其中每个步骤都在一个独立 Pod 中运行。
  4. maker-bot 服务会等待整个管道完成。
  5. 如果此管道完成,那么该顺序中的最后一步是从 maker-bot 到 dbwrapper 服务的调用。(注意:真实服务可能会将对象持久存储在数据库中,但在此处案例中,它会短暂休眠后再返回响应)。

Instructions

准备好利用本 Code Pattern 了吗?有关如何开始运行和使用此应用程序的完整细节,可参阅 README

相关博客

相关链接

英文原文

本 Code Pattern 翻译自:Troubleshoot microservices deployments with MicroProfile distributed tracing and Istio(2019-04-22)

IBM Cloud

一个横跨公共、私有和混合环境的全栈式云平台。

IBM Cloud Kubernetes Service

Kubernetes Service 创建计算主机的集群并部署高度可用的容器。通过 Kubernetes 集群。您可以安全地管理快速部署、更新和扩展应用程序所需要的资源。