/images/avatar.png

Envoy的ext_proc

本篇文章中,我们学习Envoy中的ext_proc功能。

基本功能

首先我们搭建一个最简单的ext_proc,并观察他的基本使用方法。

首先我们搭建一个简单的外部后端。该后端只处理response header,他在原有header的基础上加一个x-extproc-helloheader。

Envoy里流式协议的数据流

定义后端服务

先用protobuf定义你的服务。该服务有一个双向流API BiStream。

syntax = "proto3";
package api;
option go_package = "envoystreaming/api";

service StreamService {
  rpc BiStream(stream Data) returns (stream Data);
}

message Data { string body = 1; }
提示
为了使Go服务能识别到你定义的服务。你需要先运行下面的代码生成服务定义。执行之后,你会看到他生成了名为stream_grpc.pb.go的Go语言服务定义。

protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    api/stream.proto

然后我们用Go语言实现该服务。该服务按顺序从输入流中轮询发送过来的数据。当他发现有数据发送过来的时候,间隔5秒发送一个ACK响应,一共发三个。

数学中的因式分解技巧

本文章为小蓝本初中篇因式分解教程笔记。

常用公式

\begin{equation*} a^2 - b^2 = (a + b)(a-b),平方差 \end{equation*}

\begin{equation*} a^3 + b^3 = (a + b)(a^2-ab+b^2),立方和 \end{equation*}

\begin{equation*} a^3 - b^3 = (a - b)(a^2+ab+b^2),立方差 \end{equation*}

GCP Log Explorer祛魅

本文我们将研究GCP的Log Explorer里到底能看到多少种日志,每种日志都长什么样,每种日志做什么操作才能被触发。

Audit Log

Audit Log以cloudaudit.googleapis.com起手,并有几种子类,比如:

GCP Tip Q&A

问题
用gcloud auth print-access-token,print的是谁的token?
信息

gcloud auth print-access-token 打印的是当前 gcloud CLI 正在使用的“活跃身份(active account)”对应的 OAuth 2.0 access token。