个推微服务实践
Api�� OpenResty�Nginx+Lua� ��Nginx����������Lua�� ����������web�� ����� HTTP REST�JSON ��������������� ����� HTTP REST�JSON����� ��������������� ���� ZK������ ������������� ���� Lua�Node.js�Java ������������������ OpenResty���� � Nginx � Lua ���� Web ���������� ���� Lua ������ ������������ ������������ ����������� Web ���Web ����� ��� ������� LVS+HaProxy API���OpenResty (Nginx+Lua) OpenResty (Nginx+Lua) PM2 Node.js js Jetty Java OpenResty (Nginx+Lua) PM2 Node.js Jetty Java ������� ZooKeeper � etcd/consul ���� ���� lib library lua WebLua conf lib library express+co WebNode conf �������0 码力 | 32 页 | 1.16 MB | 1 年前3Apache APISIX 在金山办公的开发和落地实践
Apache APISIX 在金山办公的开发和落地实践 张强 金山办公 01 前情回顾&增补 02 关于 OpenResty 和 Lua 的思考 03 基于 Apache APISIX 破局 04 解决 Nginx 带来的问题 CONTENT W r i t e h e r e S o m e t h i n g a b o u t 前情回顾 & 增补 01 About •金山办公云原生应用组流量网关 o u t 关于 OpenResty 和 Lua 的思考 一个菜鸟的视角 02 关于 OpenResty 和 Lua 的思考 Lua 适合 “ 平均水平 ” 的大团队做大工程吗 •动态类型语言 •网关产品对 runtime error 容忍度比较低 •Lua 开发环境,特别是 OpenResty 相关的比较弱 •难招人,后端开发转 lua 成本高昂 “A programming language applications” Wikipedia - Lua 关于 OpenResty 和 Lua 的思考 Nginx 的设计给 “ 平均水平 ” 终端开发者带来的问题 •多进程模型 + 异步 •线上问题难以调试 •多进程间同步效率低 •以nginx-lua-prometheus为例 (https://github.com/knyar/nginx-lua-prometheus/issues/107)0 码力 | 27 页 | 4.88 MB | 1 年前3Pandoc User’s Guide (April 7, 2024)
. . . . . . . . . . . . . . . . . . 154 Running pandoc as a web server 155 Running pandoc as a Lua interpreter 157 A note on security 159 Authors 161 vi Synopsis pandoc [options] [input-file]… (TikiWiki markup) • twiki (TWiki markup) • typst (typst) • vimwiki (Vimwiki) • the path of a custom Lua reader, see Custom readers and writers below Extensions can be individually enabled or disabled by typst (typst) 9 Options • xwiki (XWiki markup) • zimwiki (ZimWiki markup) • the path of a custom Lua writer, see Custom readers and writers below Note that odt, docx, epub, and pdf output will not be0 码力 | 168 页 | 475.29 KB | 1 年前3Apache HTTP Server Documentation Version 2.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648 10.68 Apache Module mod lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649 10.69 Apache Module restrict certain HTTP methods without interfering with authentication or authorization. MOD LUA Embeds the Lua2 language into httpd, for configuration and small business logic functions. (Experimental) unavailable (error 5xx). MOD CACHE can now insert HIT/MISS/REVALIDATE into an X-Cache header. 2http://www.lua.org/ 1.2. OVERVIEW OF NEW FEATURES IN APACHE HTTP SERVER 2.4 9 MOD INCLUDE Support for the ’onerror’0 码力 | 1031 页 | 3.23 MB | 1 年前3Apache HTTP Server Documentation Version 2.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649 10.68 Apache Module mod lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650 10.69 Apache Module restrict certain HTTP methods without interfering with authentication or authorization. MOD LUA Embeds the Lua2 language into httpd, for configuration and small business logic functions. (Experimental) unavailable (error 5xx). MOD CACHE can now insert HIT/MISS/REVALIDATE into an X-Cache header. 2http://www.lua.org/ 1.2. OVERVIEW OF NEW FEATURES IN APACHE HTTP SERVER 2.4 9 MOD INCLUDE Support for the ’onerror’0 码力 | 1031 页 | 3.23 MB | 1 年前3Apache HTTP Server Documentation Version 2.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707 10.71 Apache Module mod lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 10.72 Apache Module restrict certain HTTP methods without interfering with authentication or authorization. MOD LUA Embeds the Lua2 language into httpd, for configuration and small business logic functions. (Experimental) to be taken gracefully offline. Balancer settings can be persistent after restarts. 2http://www.lua.org/ 1.2. OVERVIEW OF NEW FEATURES IN APACHE HTTP SERVER 2.4 11 MOD CACHE The MOD CACHE CACHE filter0 码力 | 1125 页 | 4.15 MB | 1 年前3Apache HTTP Server Documentation Version 2.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707 10.71 Apache Module mod lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 10.72 Apache Module restrict certain HTTP methods without interfering with authentication or authorization. MOD LUA Embeds the Lua2 language into httpd, for configuration and small business logic functions. (Experimental) to be taken gracefully offline. Balancer settings can be persistent after restarts. 2http://www.lua.org/ 1.2. OVERVIEW OF NEW FEATURES IN APACHE HTTP SERVER 2.4 11 MOD CACHE The MOD CACHE CACHE filter0 码力 | 1111 页 | 4.11 MB | 1 年前310-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 月前31.3 MOSN 在云原生的探索及实践
为什么做 用户痛点 • east-west、north-south Gateway 技术栈不统一, 维护成本高 • Envoy C++ 编写,对于 业务方来说开发门槛高 技术趋势 • Lua extension • WASM extension • External-proc extension 可扩展性、灵活性、生态 价值意义 • 技术共享,融合 Envoy 和 MOSN GoLang 社区生态粘性 MOE Envoy 和 GoLong 生态打通 维护成本高、可扩展性弱 MoE 背景介绍 — 方案调研 方案名称 优势 劣势 Lua Extension Lua 编写简单业务处理方便 Lua 脚本语言,开发复杂功能不 方便;支持的库(SDK)相对较 少 WASM Extension 跨语言语言支持 (C/C++/Rust)、隔离性、安 全性、敏捷性 处于试验阶段,性能损耗较大; 成本 生态 Lua Extension 高 高 高 较低 WASM Extension ES 低 高 活跃 External Processing Filter 高 低 中 N MOSN(GoLang) Extension 高 较高 低 活跃 对比:MOE 相比 ext-proc 无需跨进程 gRPC,性能高,易管理; 相比 WASM 无需网络 IO 操作转换成本;相比 Lua 生态好、能0 码力 | 36 页 | 35.61 MB | 1 年前301. MOSN 高性能网络扩展实践 - 王发康
为什么做 用户痛点 • east-west、north-south Gateway 技术栈不统一, 维护成本高 • Envoy C++ 编写,对于 业务方来说开发门槛高 技术趋势 • Lua extension • WASM extension • External-proc extension 可扩展性、灵活性、生态 价值意义 • 技术共享,融合 Envoy 和 MOSN 和 GoLang 社区生态粘性 MoE Envoy 和 GoLong 生态打通 维护成本高、可扩展性弱 MoE 背景介绍 — 方案调研 方案名称 优势 劣势 Lua Extension Lua 编写简单业务处理方便 Lua 脚本语言,开发复杂功能不方便 支持的库(SDK)相对较少 WASM Extension 跨语言语言支持(C/C++/Rust)、 隔离性、安全性、敏捷性 处于试验阶段,性能损耗较大; 性能 成本 生态 Lua Extension 高 高 高 较低 WASM Extension ES 低 高 活跃 External Processing Filter 高 低 中 N MOSN(GoLang) Extension 高 较高 低 活跃 对比:MoE 相比 ext-proc 无需跨进程 gRPC,性能高;相比 WASM 无需 网络 IO 操作转换成本;相比 Lua 生态好、能复用现有的0 码力 | 29 页 | 2.80 MB | 1 年前3
共 395 条
- 1
- 2
- 3
- 4
- 5
- 6
- 40