10-APISIX 与 SkyWalking 的最佳实践-王院生
share dict Nginx + Lua http(s) ⼆次优化实践 ⼆次优化实践 - ⾼性能调优利器,⽕焰图 ⼆次优化实践 - 去掉不必要的共享内存交换 rewrite phase bodyfiler phase log phase init worker phase background timer client Lua table Nginx + Lua http(s) rewrite init worker phase background timer client share dict Nginx + Lua http(s) ⼆次优化实践 ➤ Nginx 性能很⾼,⽽⾼性能的代码有时候是不优雅的 ➤ reuse the temporary Lua table object ➤ use `ngx.var.http_****` to fetch specific header ,后⾯会有更好表现 ➤ PR:https://github.com/apache/skywalking-nginx-lua/pull/49 为什么要参与开源项⽬ “懂王下线,赌王上线” 懂王下线,赌王上线 [bug] SkyWalking-nginx-lua0.3.0 traceid repeat all the time: https://github.com/apa0 码力 | 29 页 | 7.43 MB | 5 月前3Secrets of C++ Scripting Bindings
engine in C++ Learned about SWIG Learned that Python is wrong for embedding (Global state), chose Lua 2008 - Created SWIG Starter Kit SWIG is great for binding to other languages, but requires a second @le�icus emptycrate.com/idocpp SWIG Can generate wrapper libraries for: C# D Go Guile Java Javascript Lua MzScheme/Racket OCaml 4 . 3Copyright Jason Turner @le�icus emptycrate.com/idocpp SWIG Can generate Jason Turner @le�icus emptycrate.com/idocpp SWIG I have personally used it for: C# Java Javascript Lua Python Ruby 4 . 5Copyright Jason Turner @le�icus emptycrate.com/idocpp What About Boost::Python0 码力 | 177 页 | 1.65 MB | 5 月前3Apache APISIX How to implement plugin orchestration in API Gateway
Native Support: Lua plugins • Few developers are familiar with Lua • Solution:Go plugin Envoy • C++ filter:difficult to get started • Lua filter:Few features, few developers can write Lua • Solution:WASM,not DAG,generate AST(Abstract Syntax Tree) • Generate Lua codes from AST • https://github.com/api7/jsonschema Step 3 • Apache APISIX watch and sync Lua code from etcd(like serverless plugin) More •0 码力 | 28 页 | 1.19 MB | 5 月前3Just-in-Time Compilation - J F Bastien - CppCon 2020
languages which are implemented in C and C++, we can run them on the web as well, for example Python and Lua. (read)Emscripten an LLVM-to-JavaScript compiler — 2011 We presented Emscripten, an LLVM-to-JavaScript languages which are implemented in C and C++, we can run them on the web as well, for example Python and Lua. What’s particularly neat about Emscripten is the asm.js approach that followed it. It has a clever0 码力 | 111 页 | 3.98 MB | 5 月前3Apache APISlX from Gateway to Full Traffic Proxy with Istio
may still be learning how to write filters rules for Envoy. #IstioCon Easy to extend ● NGINX + Lua ● multi-language plugins #IstioCon How to implement it #IstioCon Apache APISIX Native Support0 码力 | 15 页 | 1.29 MB | 5 月前0.03云原生开放智能网络代理 MOSN
RocketMQ、gRPC、HTTP3、 MQTT、QUIC、TLS1.3 等 多协议 支持模块化 自适应限流 多协议深度扩展能力 多进程 WAF WebAssembly 兼容用户态协议栈 Lua 支持 核心和开放能力 适配 Istio,兼容 UDAP 协议 Zookeeper,Etcd Open Tracing, Jaeger Prometheus, StatsD 生态融合0 码力 | 12 页 | 1.39 MB | 5 月前3蚂蚁金服 API Gateway Mesh 思考与实践
FilterChains Router Service NET/IO PROTOCOL Cluster Router … Filter Pipeline Extension JavaScript Lua GoPlugin ScriptFilter File Istio xds rest api k8s configmap config file mobile openapi mgs15/210 码力 | 22 页 | 1.72 MB | 5 月前3金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
Sidecar 资源占用 按需下发配置 配置本身的精简 资源占用降低了 60% 较低的学习/维护成本 APISIX 丰富的文档,快速上手 抽象出来的网关对象通俗易懂 源码基于 lua 易学易懂 二次开发相比 C++ 要简单许多 强大的扩展/定制化能力 配合CRD进行扩展,更灵活 更原生 不侵入Istio原有配置 降低用户迁移成本/减少冲突可 能 通过 controller0 码力 | 34 页 | 3.50 MB | 5 月前303-基于Apache APISIX的全流量API网关-温铭
开放了自定义负载均衡的挂载点,其他网关都不支持 独创的插件编排/低代码 API 网关 Plugin Orchestration • Kong:支持 Go 编写的插件 • Envoy:支持 Lua、WASM 编写的 filter • Apache APISIX:为什么要“写”插件?ops、PM 也可以直接创造一个插件 • 解决方案:微插件、低代码,需要底层架构和插件足够灵活 有众多信赖的全球领军企业0 码力 | 11 页 | 6.56 MB | 5 月前3Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?
Health checkers ● Transport sockets ● Retry policy ● Resource monitors ● Stats sink 扩展方式: ● C++ ● Lua(目前仅限于HTTP Traffic) ● Go extensions (beta, for Cilium)Envoy最新的扩展方式:Web Assembly Part 2:ServiceMesh灵魂拷问二:性能有了,架构怎么办?0 码力 | 43 页 | 2.90 MB | 5 月前3
共 21 条
- 1
- 2
- 3