Please enable Javascript to view the contents

我的旧书《Envoy Proxy 内幕》

 ·  ☕ 3 分钟

cover-mock-1024

本文介绍我的新开源书籍 - 《Envoy Proxy 内幕》。它是一本专注于 Envoy Proxy 机制和实现深入探讨的书。内容主要源于我之前写的《Istio & Envoy 内幕》一书。现在把 Envoy 部分单独抽出来,重新整理成一本书。这样做的目的是为了让读者更专注于 Envoy 的内容,而免受 Istio 的干扰。有些内容也是 Istio 无关或不适用的。所以现在独立成书。以后《Istio & Envoy 内幕》一书将只更新 Istio 相关的内容。而把 Envoy 相关的内容更新都移到这本书《Envoy 内幕》上。

或者有读者好奇,为何要 Envoy 独立成书?因为我最近看到 Envoy 的使用已经不单单在 Istio 了。Envoy 已经成为一个独立且广泛流行的可编程代理。它被广泛应用于各种云原生架构、AI Gateway、边缘计算中,等等非 Istio 的项目中也有使用。它正作为基础设施的基础设施。所以我觉得有必要把它独立成书。让更多非 Istio 的读者了解 Envoy 的设计与实现。

本书概述

本书名为《Envoy Proxy 内幕》,英文名《Envoy Insider》。这是一本编写中的书,现在草稿阶段。

本书是什么

本书内容包括:Envoy 源码分析、深入 Envoy 基本原理解构与分析 。但不是一本传统的《深入 xyz 源码》类型的书。甚至可以说,我尽了最大的努力少在书中直接贴源码。看源码是掌握实现细节必须的一步,但在书中浏览源码的体验一般非常糟糕,本书更多使用源码导航图来让读者了解实现的全流程,而非迷失于碎片式的源码片段细节当中而忘记全貌。

本书中,我尝试以设计与实现角度,尽量系统地去思考:

  • Envoy 的架构设计与底层实现细节
  • Envoy 为什么是现在的样子
  • 那些魔术配置背后的真相: Linux + Envoy
    • 流量是如何通过 Linux 的 netfilter 技术被拦截并导向 Envoy 的

书里说的,只是在我研究与使用了 Istio 一段时间后,的思考与记录。我只是排查过一些 Istio/Envoy 相关的功能与性能问题,浏览和 Debug 过一些 Istio/Envoy 的代码。

在研究 Istio 过程中。发现网上是有很多非常有价值的资讯。但是,要么主要是从使用者出发,没说实现机理;要么就是说了机理,也说得很好,但内容缺少系统化和连贯性。

本书不是什么

本书不是一本 Envoy 使用手册。更不是从使用者角度,教如何深入浅出学习 Envoy。不会布道 Envoy 有如何如何强大之功能,更不会教如何使用 Envoy。这方面网上已经有太多非常优秀的书、文章、文档了。

🤷 : Yet, another Envoy User Guide?
🙅 : No!

读者对象

本书主要讲 Envoy 的设计、实现机制。假设读者已经有一定的 Envoy 使用经验。并有兴趣进一步研究其实现机理。

书的访问地址

关于作者

我叫 Mark Zhu,一个中年且头发少的程序员。我不是 Envoy 专家,充其量只是 Envoy Docs 的 Contributors。连互联网大厂员工也不是。

为什么水平有限还学人家写书?因为这句话:

你不需要很厲害才能開始,但你需要開始才會很厲害。

Blog: https://blog.mygraphql.com/
为方便读者关注 Blog 与本书的更新,开了个同步的 微信公众号:Mark的滿紙方糖言

参与编写

如果你也对编写本书有兴趣,欢迎联系我。本书的出发点不是刷简历,也没这个能力。而且,这样的非短平快TL;DR 书籍注定是小众货。

Dedication 💞

First, to my dear parents, for showing me how to live a happy
and productive life. To my dear wife and our amazing kid – thanks for all your love and patience.

Copyleft 声明

无论是文字还是图片,如果转载或修改,请注明原出处。

意见反馈

由于自称是开源交互图书,读者的反馈当然非常重要。如果你发现书中的错误,或者有更好的建议,不妨来这里提 Issue:
https://github.com/labilezhu/envoy-insider/issues

English version

There is an English version: https://envoy-insider.mygraphql.com/en/latest/

book-cover-800

分享

Mark Zhu
作者
Mark Zhu
An old developer