狠狠撸

狠狠撸Share a Scribd company logo
Nginx+Lua!
阿?里实战经验谈!
阿里云-CDN事业部 卫越
2015.11!
??目录!
第?一部分:阿?里巴巴的Nginx+Lua史!
第?二部分:阿?里巴巴Nginx+Lua的典型?用例!
第三部分:阿?里云CDN使?用Nginx+Lua的情况!
第四部分:阿?里巴巴使?用Nginx+Lua遇到的问题!
!
第?一部分!
创始!
?? 创始?人是当时在淘宝的?王晓哲和章亦春!
?? 量?子统计是淘宝第?一个使?用Nginx + Lua的应?用!
?? OpenResty创?立,章亦春将ngx_lua推向全球社区,受到社
区推崇!
尝试!
?? 使?用Nginx + Lua代替Java!
?? 等同于Java中间件功能的Lua中间件!
着陆!
?? 附?身FastCGI的业务系统!
?? 附?身接?入系统!
?? 附?身安全系统!
?? 放弃Java!
第?二部分!
Lua的优势!
?? 内存开销?小:VM < 100KB!
?? LuaJIT的运?行效率与C、Java处于同?一数量级!
?? 原?生?支持协程:与?非阻塞IO结合?非常好!
?? [1] https://github.com/chaoslawful/shootout!
阿?里巴巴的需求!
1. 快速开发,迅速完成需求迭代!
2. 快速执?行!
3. 运?行稳定!
!
!
Tengine+Lua!
?? 在阿?里巴巴,Tengine是Lua的搭档!
?? Tengine是由阿?里巴巴发起的Web服务器项??目。!
?? Tengine基于Nginx,?高于Nginx。!
?? Tengine的性能和稳定性已经得到了检验。!
?? Tengine的最终??目标是?高效、稳定、安全、易?用。!
Tengine+Lua的适?用场景!
?? 胶?水功能:简单的HTTP头处理功能,各类业务逻辑!
?? 反向代理:HTTP、HTTPS接?入层路由模块!
?? 数据处理层:与数据库有交互并有数据处理!
?? CPU计算型:图?片处理(需要加?入异步逻辑)!
?? 安全处理:安全规则嵌?入,内容扫描!
取数据计算!
?? 使?用Tengine+Lua最典型的场景!
?? 简化Tengine?子请求的复杂性和避免不确定性!
?? 核?心是ngx.location.capture的?方法!
?? capture的对象是Tengine的本地location!
?? 本地location可以使?用proxy_pass或者fastcgi_pass获取其
他服务器上的内容!
取数据计算!
location /fetch {!
fastcgi_pass X.X.X.X:P;!
}!
location /main {!
content_by_lua "res = ngx.location.capture ('/fetch');";!
}!
取数据计算!
?? 局限性:!
?? 放弃了流式处理的优势!
?? 内存消耗增加!
?? 获取的响应?大?小有限制!
?? 并发可能受到限制!
处理响应body!
?? ?一般使?用body_?lter_by_lua!
?? 有?一个奇怪的现象,使?用?一个Lua本地变量得到arg[1]中的
body内容,再对变量进?行处理,?比直接对arg[1]进?行处理
快得多。!
?? ngx_lua = 0.9.4,LuaJIT = 2.0。!
插?入处理逻辑!
?? ??目标:在Tengine/Nginx的rewrite中插?入复杂逻辑!
?? 背景:原?生的rewrite功能有限!
?? ?方法:有两种!
?? rewrite_by_lua!
?? set_by_lua!
rewrite_by_lua!
?? 适于编写完整的rewrite逻辑!
?? 不适?用于和已有的Tengine/Nginx的rewrite功能混?用!
rewrite_by_lua!
server {!
rewrite_by_lua 'ngx.return 403';!
location /test1 {!
return 200;!
}!
}!
rewrite_by_lua!
server {!
location /test1 {!
return 200;!
rewrite_by_lua 'ngx.return 403';!
}!
}!
set_by_lua!
server {!
set_by_lua $val 'return 1';!
location /test1 {!
if ($val = 1) { return 200; }!
}!
}!
第叁部分!
阿?里云CDN动态配置!
?? 阿?里CDN提供很多功能,?比如视频切?片,?比如缓存过期时
间等等!
?? 这些功能有的是C模块,有的是Lua模块!
?? 每个功能都有?一个或多个控制?入?口,?比如开启关闭功能,
或者控制参数。!
阿?里云CDN动态配置!
?? 所有的控制?入?口的取值都对应到某个Tengine的变量!
?? C模块:ngx_http_get_?ushed_variable!
?? Lua模块:ngx.var.VNAME!
?? 使?用Lua更新配置,即对变量进?行赋值!
阿?里云CDN动态配置!
?? 更新配置的时机!
?? 更新的来源!
?? 效果!
?? ?支持百万级的域名!
?? 配置变更的时间<1分钟!
第四部分!
遇到的问题!
?? 单进程内存限制,某些场景下会超出限制?而?无法?工作。!
?? 缺乏隔离性,不同模块的全局数据需要开发者?自?行解决命
名冲突。!
?? ngx_lua提供的各种钩?子指令不?支持定义多次。!
?? 调试不?方便。!
Lua的竞争对?手!
?? https://www.nginx.com/blog/launching-nginscript-and-
looking-ahead/!
!
Q&A!

More Related Content

What's hot (20)

前端转行 DevOps 经验分享
前端转行 DevOps 经验分享前端转行 DevOps 经验分享
前端转行 DevOps 经验分享
Yan Wang
?
Web server
Web serverWeb server
Web server
WEBBIZ.TW
?
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
美团点评技术团队
?
Frontend Devops at Cloudinsight
Frontend Devops at CloudinsightFrontend Devops at Cloudinsight
Frontend Devops at Cloudinsight
Yan Wang
?
基于翱辫别苍搁别蝉迟测的百万级长连接推送
基于翱辫别苍搁别蝉迟测的百万级长连接推送基于翱辫别苍搁别蝉迟测的百万级长连接推送
基于翱辫别苍搁别蝉迟测的百万级长连接推送
OpenRestyCon
?
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
twMVC
?
RxJS 6 新手入門
RxJS 6 新手入門RxJS 6 新手入門
RxJS 6 新手入門
Will Huang
?
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术团队
?
OpenResty/Lua Practical Experience
OpenResty/Lua Practical ExperienceOpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
?
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Chu-Siang Lai
?
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Gelis Wu
?
W3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in ReactW3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in React
美团点评技术团队
?
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
?
pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京
roybinux
?
從軟體開發角度?談 Docker 的應用
從軟體開發角度?談 Docker 的應用從軟體開發角度?談 Docker 的應用
從軟體開發角度?談 Docker 的應用
謝 宗穎
?
SMACK Dev Experience
SMACK Dev ExperienceSMACK Dev Experience
SMACK Dev Experience
Chih-Hsuan Hsu
?
Train.IO 【第六期-OpenStack 二三事】
Train.IO 【第六期-OpenStack 二三事】Train.IO 【第六期-OpenStack 二三事】
Train.IO 【第六期-OpenStack 二三事】
inwin stack
?
Angular 4 網站開發最佳實務 (Modern Web 2017)
Angular 4 網站開發最佳實務 (Modern Web 2017)Angular 4 網站開發最佳實務 (Modern Web 2017)
Angular 4 網站開發最佳實務 (Modern Web 2017)
Will Huang
?
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
Wen-Tien Chang
?
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
Will Huang
?
前端转行 DevOps 经验分享
前端转行 DevOps 经验分享前端转行 DevOps 经验分享
前端转行 DevOps 经验分享
Yan Wang
?
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
美团点评技术团队
?
Frontend Devops at Cloudinsight
Frontend Devops at CloudinsightFrontend Devops at Cloudinsight
Frontend Devops at Cloudinsight
Yan Wang
?
基于翱辫别苍搁别蝉迟测的百万级长连接推送
基于翱辫别苍搁别蝉迟测的百万级长连接推送基于翱辫别苍搁别蝉迟测的百万级长连接推送
基于翱辫别苍搁别蝉迟测的百万级长连接推送
OpenRestyCon
?
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
twMVC
?
RxJS 6 新手入門
RxJS 6 新手入門RxJS 6 新手入門
RxJS 6 新手入門
Will Huang
?
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术团队
?
OpenResty/Lua Practical Experience
OpenResty/Lua Practical ExperienceOpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
?
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Chu-Siang Lai
?
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Gelis Wu
?
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
?
pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京
roybinux
?
從軟體開發角度?談 Docker 的應用
從軟體開發角度?談 Docker 的應用從軟體開發角度?談 Docker 的應用
從軟體開發角度?談 Docker 的應用
謝 宗穎
?
Train.IO 【第六期-OpenStack 二三事】
Train.IO 【第六期-OpenStack 二三事】Train.IO 【第六期-OpenStack 二三事】
Train.IO 【第六期-OpenStack 二三事】
inwin stack
?
Angular 4 網站開發最佳實務 (Modern Web 2017)
Angular 4 網站開發最佳實務 (Modern Web 2017)Angular 4 網站開發最佳實務 (Modern Web 2017)
Angular 4 網站開發最佳實務 (Modern Web 2017)
Will Huang
?
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
Wen-Tien Chang
?
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
Will Huang
?

Viewers also liked (17)

Nginx-lua
Nginx-luaNginx-lua
Nginx-lua
Дэв Тим Афс
?
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
?
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
Tony Fabeen
?
Script up your application with Lua! -- RyanE -- OpenWest 2014
Script up your application with Lua! -- RyanE -- OpenWest 2014Script up your application with Lua! -- RyanE -- OpenWest 2014
Script up your application with Lua! -- RyanE -- OpenWest 2014
ryanerickson
?
淺入淺出 GDB
淺入淺出 GDB淺入淺出 GDB
淺入淺出 GDB
Jim Chang
?
Gdb tutorial-handout
Gdb tutorial-handoutGdb tutorial-handout
Gdb tutorial-handout
Suraj Kumar
?
Learn C Programming Language by Using GDB
Learn C Programming Language by Using GDBLearn C Programming Language by Using GDB
Learn C Programming Language by Using GDB
National Cheng Kung University
?
笔别谤濒在苍驳颈苍虫里的应用
笔别谤濒在苍驳颈苍虫里的应用笔别谤濒在苍驳颈苍虫里的应用
笔别谤濒在苍驳颈苍虫里的应用
琛琳 饶
?
The basics and design of lua table
The basics and design of lua tableThe basics and design of lua table
The basics and design of lua table
Shuai Yuan
?
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
rewinx
?
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixivUsing ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
Shunsuke Michii
?
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
National Cheng Kung University
?
Load balancing in the SRE way
Load balancing in the SRE wayLoad balancing in the SRE way
Load balancing in the SRE way
Shawn Zhu
?
Microservices & API Gateways
Microservices & API Gateways Microservices & API Gateways
Microservices & API Gateways
Kong Inc.
?
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
National Cheng Kung University
?
颁/颁++调试、跟踪及性能分析工具综述
颁/颁++调试、跟踪及性能分析工具综述颁/颁++调试、跟踪及性能分析工具综述
颁/颁++调试、跟踪及性能分析工具综述
Xiaozhe Wang
?
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
Xiaozhe Wang
?
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
?
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
Tony Fabeen
?
Script up your application with Lua! -- RyanE -- OpenWest 2014
Script up your application with Lua! -- RyanE -- OpenWest 2014Script up your application with Lua! -- RyanE -- OpenWest 2014
Script up your application with Lua! -- RyanE -- OpenWest 2014
ryanerickson
?
淺入淺出 GDB
淺入淺出 GDB淺入淺出 GDB
淺入淺出 GDB
Jim Chang
?
Gdb tutorial-handout
Gdb tutorial-handoutGdb tutorial-handout
Gdb tutorial-handout
Suraj Kumar
?
笔别谤濒在苍驳颈苍虫里的应用
笔别谤濒在苍驳颈苍虫里的应用笔别谤濒在苍驳颈苍虫里的应用
笔别谤濒在苍驳颈苍虫里的应用
琛琳 饶
?
The basics and design of lua table
The basics and design of lua tableThe basics and design of lua table
The basics and design of lua table
Shuai Yuan
?
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
rewinx
?
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixivUsing ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
Shunsuke Michii
?
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
National Cheng Kung University
?
Load balancing in the SRE way
Load balancing in the SRE wayLoad balancing in the SRE way
Load balancing in the SRE way
Shawn Zhu
?
Microservices & API Gateways
Microservices & API Gateways Microservices & API Gateways
Microservices & API Gateways
Kong Inc.
?
颁/颁++调试、跟踪及性能分析工具综述
颁/颁++调试、跟踪及性能分析工具综述颁/颁++调试、跟踪及性能分析工具综述
颁/颁++调试、跟踪及性能分析工具综述
Xiaozhe Wang
?
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
Xiaozhe Wang
?

Similar to 狈驳颈苍虫+濒耻补在阿里巴巴的使用 (20)

No sql@vip new
No sql@vip newNo sql@vip new
No sql@vip new
Chao Zhu
?
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
Mu-Fan Teng
?
Kubernetes project update and how to contribute
Kubernetes project update and how to contributeKubernetes project update and how to contribute
Kubernetes project update and how to contribute
inwin stack
?
Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界
Xu Wang
?
Build your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource typeBuild your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource type
inwin stack
?
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
Alan Tsai
?
Artifacts management with CI and CD
Artifacts management with CI and CDArtifacts management with CI and CD
Artifacts management with CI and CD
Chen-Tien Tsai
?
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
q3boy
?
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
Ko Ko
?
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
84zhu
?
COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南
Shengyou Fan
?
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
Shengyou Fan
?
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍
Li Jiansheng
?
DAE
DAEDAE
DAE
Qiangning Hong
?
快!快!快! 互联网第一条军规
快!快!快! 互联网第一条军规快!快!快! 互联网第一条军规
快!快!快! 互联网第一条军规
yangdj
?
NoSQL@VIP — 唯品会NoSQL平台?动化发展及运维经验分享
NoSQL@VIP — 唯品会NoSQL平台?动化发展及运维经验分享NoSQL@VIP — 唯品会NoSQL平台?动化发展及运维经验分享
NoSQL@VIP — 唯品会NoSQL平台?动化发展及运维经验分享
Leo Zhou
?
?語?模型 LLM 應?開發入?
?語?模型 LLM 應?開發入??語?模型 LLM 應?開發入?
?語?模型 LLM 應?開發入?
Wen-Tien Chang
?
Azure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Azure Web App on Linux @ Global Azure Bootcamp 2017 TaiwanAzure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Azure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Will Huang
?
Extend the Kubernetes API with CRD and Custom API Server
Extend the Kubernetes API with CRD and Custom API ServerExtend the Kubernetes API with CRD and Custom API Server
Extend the Kubernetes API with CRD and Custom API Server
inwin stack
?
No sql@vip new
No sql@vip newNo sql@vip new
No sql@vip new
Chao Zhu
?
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
Mu-Fan Teng
?
Kubernetes project update and how to contribute
Kubernetes project update and how to contributeKubernetes project update and how to contribute
Kubernetes project update and how to contribute
inwin stack
?
Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界
Xu Wang
?
Build your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource typeBuild your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource type
inwin stack
?
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
Alan Tsai
?
Artifacts management with CI and CD
Artifacts management with CI and CDArtifacts management with CI and CD
Artifacts management with CI and CD
Chen-Tien Tsai
?
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
q3boy
?
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
Ko Ko
?
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
84zhu
?
COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南
Shengyou Fan
?
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
Shengyou Fan
?
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍
Li Jiansheng
?
快!快!快! 互联网第一条军规
快!快!快! 互联网第一条军规快!快!快! 互联网第一条军规
快!快!快! 互联网第一条军规
yangdj
?
NoSQL@VIP — 唯品会NoSQL平台?动化发展及运维经验分享
NoSQL@VIP — 唯品会NoSQL平台?动化发展及运维经验分享NoSQL@VIP — 唯品会NoSQL平台?动化发展及运维经验分享
NoSQL@VIP — 唯品会NoSQL平台?动化发展及运维经验分享
Leo Zhou
?
?語?模型 LLM 應?開發入?
?語?模型 LLM 應?開發入??語?模型 LLM 應?開發入?
?語?模型 LLM 應?開發入?
Wen-Tien Chang
?
Azure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Azure Web App on Linux @ Global Azure Bootcamp 2017 TaiwanAzure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Azure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Will Huang
?
Extend the Kubernetes API with CRD and Custom API Server
Extend the Kubernetes API with CRD and Custom API ServerExtend the Kubernetes API with CRD and Custom API Server
Extend the Kubernetes API with CRD and Custom API Server
inwin stack
?

狈驳颈苍虫+濒耻补在阿里巴巴的使用