Below you will find pages that utilize the taxonomy term “Envoy”
September 22, 2023
envoy中 lua filter 与 wasm filter使用教程
"\u003cp\u003e在 Envoy 中当我们需要对 \u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-msg-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager\"\u003ehttp_connection_manager\u003c/a\u003e 中的请求进行修改时,如添加或删除一个请求header,一般通过 \u003ccode\u003eHTTP Filter\u003c/code\u003e 过滤器来实现。\u003c/p\u003e\n\u003cp\u003e而在Envoy 包含的几十个Filter中,通常会选择 \u003ccode\u003eLua Filter \u003c/code\u003e(\u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/lua/v3/lua.proto#extensions-filters-http-lua-v3-lua\"\u003eextensions.filters.http.lua.v3.Lua\u003c/a\u003e) 或 \u003ccode\u003eWasm Filter\u003c/code\u003e (\u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/wasm/v3/wasm.proto#extensions-filters-http-wasm-v3-wasm\"\u003eextensions.filters.http.wasm.v3.Wasm\u003c/a\u003e)这两类过滤器。\u003c/p\u003e\n\u003ch1 id=\"lua-filter-与-wasm-filter\"\u003eLua Filter 与 Wasm Filter\u003c/h1\u003e\n\u003cp\u003e下表是 \u003ccode\u003eLua Filter\u003c/code\u003e 与 \u003ccode\u003eHTTP Filter\u003c/code\u003e 的对比\u003c/p\u003e\n\u003ctable\u003e\n \u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003e\u003c/th\u003e\n \u003cth\u003eLua Filter\u003c/th\u003e\n \u003cth\u003eWasm Filter\u003c/th\u003e\n \u003c/tr\u003e\n \u003c/thead\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e编程语言\u003c/td\u003e\n \u003ctd\u003eLua,解释型脚本语言\u003c/td\u003e\n \u003ctd\u003eWebAssembly,编译型语言\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd\u003e运行环境\u003c/td\u003e\n \u003ctd\u003eEnvoy 内置的 Lua …\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e"
December 28, 2022
Envoy中的 gRPC限流服务
"\u003cp\u003e\u003ca href=\"https://blog.haohtml.com/archives/32108\"\u003e上一节\u003c/a\u003e 我们大概介绍了一下Envoy中有关速率限制(限流)的一些内容,这一节我们看一下对于外部的 gRPC限流服务它又是如何工作和配置的。\u003c/p\u003e\n\u003cp\u003e在 Envoy 中对服务限流的配置除了可以在 Envoy 本身中实现外,还可以在通过外部服务实现,此时 Envoy 将通过 gRPC 协议调用外部限流服务,官方对此实现有一套现成的解决方案,主要是redis数据库+令牌桶算法实现,可参考官方\u003c/p\u003e\n\u003cp\u003e本文中的限制器或限流器均是同一个意思。\u003c/p\u003e\n\u003ch1 id=\"envoy-实现限流\"\u003eEnvoy 实现限流\u003c/h1\u003e\n\u003cp\u003e此实现是基于令牌桶算法实现,本身比较的简单,比较适合一般的使用场景。\u003c/p\u003e\n\u003cp\u003e这里是官方提供的一个配置\u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter#example-configuration\"\u003e示例\u003c/a\u003e\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e13 http_filters:\n14 - name: envoy.filters.http.local_ratelimit\n15 typed_config:\n16 \u0026#34;@type\u0026#34;: type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit\n17 …\u003c/code\u003e\u003c/pre\u003e"
December 20, 2022
Envoy 中的速率限制 ratelimit
"\u003cp\u003e在 Envoy 架构中 \u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/configuration/other_features/rate_limit#config-rate-limit-service\"\u003eRate limit service\u003c/a\u003e 共支持 \u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting#arch-overview-global-rate-limit\"\u003eglobal rate limiting\u003c/a\u003e 和 \u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/local_rate_limiting#arch-overview-local-rate-limit\"\u003elocal rate limit filter\u003c/a\u003e 两种速率限制。推荐使用 \u003ca href=\"https://github.com/envoyproxy/ratelimit\"\u003ehttps://github.com/envoyproxy/ratelimit\u003c/a\u003e 库。\u003c/p\u003e\n\u003ch1 id=\"global-rate-limiting\"\u003eGlobal rate limiting\u003c/h1\u003e\n\u003cp\u003eEnvoy 提供了两种全局限速实现\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e每个连接 或 每个HTTP请求 速率限制检查。\u003c/li\u003e\n\u003cli\u003e基于配额,具有定期负载报告,允许在多个 Envoy 实例之间公平共享全局速率限制。此实现适用于每秒请求负载较高的大型 Envoy 部署,这些负载可能无法在所有 Envoy 实例之间均匀平衡。\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"per-connection-or-per-http-request-rate-limiting\"\u003ePer connection or per HTTP request rate limiting\u003c/h2\u003e\n\u003cp\u003eEnvoy 直接与全局 gRPC rate limiting service 集成, …\u003c/p\u003e"