2019 年 5 月 11 日,由又拍云、OpenResty 社区主办的 OpenResty × Open Talk 全国巡回沙龙 | 武汉站顺利落幕,这是系列活动的第三站。OpenResty × Open Talk 全国巡回沙龙旨在促进 OpenResty 在技术圈的发展,增进 OpenResty 使用者的交流与学习。在武汉站活动现场,五 位技术专家分享了自己专业的观点和经验,让参加活动的同学们受益匪浅。

 

众所周知,OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,越来越受到开发者的关注,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。目前,包括腾讯、京东、美团点评、又拍云、12306、360 等企业都在内部深度应用了 OpenResty。

 

image.png

活动现场合影

 

OpenResty × Open Talk 全国巡回沙龙武汉站邀请了OpenResty 社区、又拍云、斗鱼、马蜂窝、福禄科技等深度应用 OpenResty 的公司的相关技术专家、负责人,内容涵盖 OpenResty 实现高性能路由、upsteam 管理、API 网关、游戏反外挂以及实际业务场景下 OpenResty 应用等内容,为近百位现场观众和数千线上观众提供了一场技术盛宴。

 

 lua-resty-r3 高性能 OpenResty 路由实现

OpenResty 社区、OpenResty 软件基金会联合创始人王院生做了开场分享,他详细介绍了 lua-resty-r3 组件从调研、实现、测试到持续集成等步骤遇到的问题以及解决办法。

 

image.png

OpenResty 社区创始人王院生

 

lua-resty-r3 是一个运行在 OpenResty 上的基于 Lua 编写高性能路由实现,通过在启动时构建前缀树,可以高效地根据路径找到指定调度器。院生提到在 Web 开发框架里,数据访问层、可视化都已经都比较好的实现方案,而路由目前还没有强大、高效的解决方案,这也是设计 lua-resty-r3 组件的初衷。院生详细介绍了 lua-resty-r3 组件开发过程中的项目目标、测试用例及框架、代码书写、单元测试、测试工具、创建里程碑等内容。

 

OpenResty 在马蜂窝的一些业务场景应用和探索 

马蜂窝基础平台技术专家李培,专注高并发、高可用的基础服务架构设计,“全沾”工程师,曾先后负责电商 App、机票、火车票等业务,推崇合适的开源技术帮助业务。李培在活动上介绍了马蜂窝的场景选型以及在 A/B Testing 和 IM 两个业务场景下对 OpenResty 的应用。

 

image.png

马蜂窝基础平台技术专家李培

 

李培总结了马蜂窝采用 OpenResty 来做业务应用的六个特点:跨语言和平台、性能损耗小、健壮和高可用、在上游服务之前、轻量非阻塞以及数据有限集合。

 

李培介绍马蜂窝的 A/B Testing 采用了 OpenResty ,测试环境下结果显示使用 ABTest 响应时长不超过 2ms,随时间推移响应时长和吞吐没有明显变化;而即时通讯业务场景使用 OpenResty 取代原来后端服务,Lua 做前置标记,性能提升明显。

 

基于 OpenResty 的动态服务路由方案

又拍云运维总监邵海杨,资深系统运维架构师,多年 CDN 行业架构设计、运维开发、团队管理经验,精通 Linux 系统及嵌入式系统,互联网高性能架构设计、CDN 加速、KVM 虚拟化及 OpenStack 云平台的研究。邵海杨在活动上介绍了又拍云基于 OpenResty 实现的动态服务路由方案,该方案是目前已经开源了动态负载均衡组件 Slardar : https://github.com/upyun/slardar

image.png

又拍云邵海杨

 

Slardar 是一个基于 Nginx,lua-nginx-module 和 stream-lua-nginx-module 的 HTTP 负载均衡器,用户可以通过它来更新上游列表并运行 lua 脚本而无需重新加载 Nginx。邵海杨提到 Slardar 的设计初衷主要是解决三个问题:怎么做无宕机时间的更新、怎样做自动扩容以及故障恢复、如何方便的对请求进行改写。

 

斗鱼 API 网关演进之路

斗鱼数据平台部资深工程师张壮壮,主要负责打点、API 网关、数据采集及后端服务架构建设,他详细介绍了斗鱼 API 网关演进,巧合的是斗鱼的 API 网关正是基于又拍云开源的 Slardar 项目升级改造的。

 

image.png

斗鱼数据平台部资深工程师张壮壮

 

张壮壮提到斗鱼做 API 网关的主要是为了解决:怎样保证服务的无宕机更新部署、怎样保证服务的自动扩容及故障恢复。他详细介绍了斗鱼 API 网关从最初仅支持动态负载均衡,到如今支持服务发现、请求限流、OA 认证、AB 测试、灰度测试、流量复制、蓝绿发布、开发平台等功能,为核心服务遭受爆发流量冲击时提供了有效保护。

 

OpenResty 游戏反外挂应用

福禄科技服务端研发罗宇翔,喜欢折腾 php、lua、Nginx 等技能,目前负责公司游戏反外挂服务端业务。专注于后端高并发,高可用服务设计,对 OpenResty 应用到 Web 项目有较多经验。罗宇翔在活动上介绍了他们针对游戏外挂,导致的封号、盗号的解决方案。

 

image.png

福禄网络科技服务端研发罗宇翔

 

罗宇翔介绍目前很多游戏开发商把精力放在游戏业务场景上,却忽略了安全模块,如防止外挂,防盗号等,福禄科技针对这种情况实现了反外挂产品:外挂规则库、用户游戏环境检查、TCP网络校验、特征码校验、 扫内存代码校验等。罗宇翔提到在服务端 WebSocket Server 模块应用 OpenResty ,用 WebSocket 协议做长连接,解决了开发效率、高并发等诸多痛点。

OpenResty × Open Talk 全国巡回沙龙武汉站上,几位具备丰富经验的讲师通过分享自身的经验,令现场和直播观众收获匪浅。

 

本次活动各位讲师的分享内容将陆续更新,请大家关注 Open Talk 官网(https://opentalk.upyun.com)或又拍云微信公众号(微信 ID:upaiyun)。

 

又拍云联合 OpenResty 中国社区,举办 OpenResty × Open Talk 全国巡回沙龙,2019 年将陆续在深圳、北京、武汉、上海、广州、杭州等地举行,邀请业内资深的技术专家,分享 OpenResty 实战经验,推动 OpenResty 开源项目的发展,促进互联网技术的交流。

 

来源:网易新闻 http://news.163.com/19/0515/14/EF7NT6JU000189DG.html