为什么学习 Envoy?

IT 行业正在向微服务架构和云原生解决方案发展。由于有成百上千个使用不同技术开发的微服务,这些系统可能会变得复杂而难以调试。


将网络问题从应用堆栈分离初期由另一个组件来处理网络部分,使得调试这些网络问题变得更加容易。这就是 Envoy 的功能。


Envoy 是一个开源的边缘和服务代理,为云原生应用而设计。Envoy 与每个应用程序一起运行,通过提供网络相关的功能,如重试、超时、流量路由和镜像、TLS 终止等,以一种平台无关的方式抽象出网络。由于所有的网络流量都流经 Envoy 代理,因此很容易观察到流量和问题区域,调整性能,并准确定位延迟来源。

  • 8 大模块
    全面了解 Envoy 的主要特点和功能,熟悉现代云原生技术栈的基石。
  • 17 个配套实验
    在实践中亲身体验每个概念
  • 测试
    测试帮助你在每个模块结束时评估你的知识掌握程度。

掌握 Envoy 基础知识
零基础开始学习 Envoy
开始学习

课程大纲

  • 1

    介绍

    • 1.0 模块概览

    • 1.1 Envoy 是什么?

    • 1.2 Envoy 构建块

    • 1.3 课程预备

    • 测试:Envoy 概览

  • 2

    HTTP 连接管理器(HCM)

    • 2.0 模块概览

    • 2.1 HTTP 连接管理器(HCM)介绍

    • 2.2 HTTP 路由

    • 2.3 请求匹配

    • 2.4 流量分割

    • 2.5 Header 操作

    • 2.6 修改响应

    • 2.7 生成请求 ID

    • 2.8 超时

    • 2.9 重试

    • 2.10 请求镜像

    • 2.11 速率限制简介

    • 2.12 全局速率限制

    • 2.13 局部速率限制

    • 2.14 速率限制统计

    • 实验 1:请求匹配

    • 实验 2:请求分割

    • 实验 3:Header 操作

    • 实验 4:重试

    • 实验 5:局部速率限制

    • 实验 6:全局速率限制

    • 测试:HTTP Connection Manager

  • 3

    集群

    • 3.0 模块概览

    • 3.1 服务发现

    • 3.2 主动健康检查

    • 3.3 异常点检测

    • 3.4 断路器

    • 3.5 负载均衡

    • 实验 7:断路器

    • 测试:集群

  • 4

    动态配置

    • 4.0 模块概览

    • 4.1 动态配置

    • 4.2 来自文件系统的动态配置

    • 4.3 来自控制平面的动态配置

    • 实验 8:动态配置——文件系统

    • 测试:动态配置

  • 5

    监听器子系统

    • 5.0 模块概述

    • 5.1 监听器过滤器

    • 5.2 过滤器链匹配

    • 5.3 HTTP 检查器监听器过滤器

    • 5.4 原始目的地监听器过滤器

    • 5.5 原始源监听器过滤器

    • 5.6 代理协议监听器过滤器

    • 5.7 TLS 检查器监听器过滤器

    • 实验 9:原始目的地过滤器

    • 实验 10:TLS 检查器过滤器

    • 实验 11:匹配传输和应用协议

    • 测试:监听器子系统

  • 6

    日志

    • 6.0 模块概览

    • 6.1 访问日志

    • 6.2 配置访问记录器

    • 6.3 访问日志过滤

    • 6.4 Envoy 组件日志

    • 实验 12:使用日志过滤器

    • 实验 13:gRPC Access Log Service (ALS) 日志

    • 实验 14:发送日志到 Google Cloud Logging

    • 测试:日志

  • 7

    Admin 接口

    • 7.0 模块概览

    • 7.1 启用管理接口

    • 7.2 配置转储

    • 7.3 统计

    • 7.4 日志

    • 7.5 集群

    • 7.6 监听器和监听器排空

    • 7.7 分接式过滤器

    • 7.8 健康检查

    • 实验 15:使用 HTTP 分接式过滤器

    • 测试:管理接口

  • 8

    扩展 Envoy

    • 8.0 模块概览

    • 8.1 可扩展性概览

    • 8.2 Lua 过滤器

    • 8.3 WebAssembly (Wasm)

    • 实验 16:使用 Lua 脚本扩展 Envoy

    • 实验 17:使用 Wasm 和 Go 扩展 Envoy

    • 测试:扩展 Envoy

学员评价