手把手教你打造高性能路由、API 网关和游戏反外挂丨OpenResty × Open Talk 武汉站顺利落幕
5 月 11 日,由又拍云、OpenResty 社区主办的 OpenResty × Open Talk 全国巡回沙龙 | 武汉站顺利落幕,这是系列活动的第三站。OpenResty × Open Talk 全国巡回沙龙旨在促进 OpenResty 在技术圈的发展,增进 OpenResty 使用者的交流与学习。在武汉站活动现场,五位技术专家分享了自己专业的观点和经验,让参加活动的同学们受益匪浅。
众所周知,OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,越来越受到开发者的关注,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。目前,包括腾讯、京东、美团点评、又拍云、12306、360 等企业都在内部深度应用了 OpenResty。
OpenResty × Open Talk 全国巡回沙龙武汉站邀请了 OpenResty 社区、又拍云、斗鱼、马蜂窝、福禄科技等深度应用 OpenResty 的公司的相关技术专家、技术负责人,内容涵盖 OpenResty 实现高性能路由、upsteam 管理、API 网关、游戏反外挂以及实际业务场景下 OpenResty 应用等内容,为近百位现场观众和数千线上观众提供了一场技术盛宴。
lua-resty-r3 高性能 OpenResty 路由实现
OpenResty 社区、OpenResty 软件基金会联合创始人王院生做了开场分享,他详细介绍了 lua-resty-r3 组件从调研、实现、测试到持续集成等步骤遇到的问题以及解决办法。
lua-resty-r3 是一个运行在 OpenResty 上的基于 Lua 编写高性能路由实现,通过在启动时构建前缀树,可以高效地根据路径找到指定调度器。院生提到在 Web 开发框架里,数据访问层、可视化都已经都比较好的实现方案,而路由目前还没有强大、高效的解决方案,这也是设计 lua-resty-r3 组件的初衷。院生详细介绍了 lua-resty-r3 组件开发过程中的项目目标、测试用例及框架、代码书写、单元测试、测试工具、创建里程碑等内容。
OpenResty 在马蜂窝的一些业务场景应用和探索
马蜂窝基础平台技术专家李培,专注高并发、高可用的基础服务架构设计,“全沾”工程师,曾先后负责电商 App、机票、火车票等业务,推崇合适的开源技术帮助业务。李培在活动上介绍了马蜂窝的场景选型以及在 A/B Testing 和 IM 两个业务场景下对 OpenResty 的应用。
李培总结了马蜂窝采用 OpenResty 来做业务应用的六个特点:跨语言和平台、性能损耗小、健壮和高可用、在上游服务之前、轻量非阻塞以及数据有限集合。
李培介绍马蜂窝的 A/B Testing 采用了 OpenResty ,测试环境下结果显示使用 ABTest 响应时长不超过 2ms,随时间推移响应时长和吞吐没有明显变化;而即时通讯业务场景使用 OpenResty 取代原来后端服务,Lua 做前置标记,性能提升明显。
基于 OpenResty 的动态服务路由方案
又拍云首席布道师、运维总监邵海杨,资深系统运维架构师,DevOps 八荣八耻践行者,多年 CDN 行业架构设计、运维开发、团队管理经验,精通 Linux 系统及嵌入式系统,互联网高性能架构设计、CDN 加速、KVM 虚拟化及 OpenStack 云平台的研究。邵海杨在活动上介绍了又拍云基于 OpenResty 实现的动态服务路由方案,该方案是目前已经开源了动态负载均衡组件 Slardar : https://github.com/upyun/slardar 。
Slardar 是一个基于 Nginx,lua-nginx-module 和 stream-lua-nginx-module 的 HTTP 负载均衡器,用户可以通过它来更新上游列表并运行 lua 脚本而无需重新加载 Nginx。邵海杨提到 Slardar 的设计初衷主要是解决三个问题:怎么做无宕机时间的更新、怎样做自动扩容以及故障恢复、如何方便的对请求进行改写。
斗鱼 API 网关演进之路
斗鱼数据平台部资深工程师张壮壮,主要负责打点、API 网关、数据采集及后端服务架构建设,他详细介绍了斗鱼 API 网关演进,巧合的是斗鱼的 API 网关正是基于又拍云开源的 Slardar 项目升级改造的。
张壮壮提到斗鱼做 API 网关的主要是为了解决:怎样保证服务的无宕机更新部署、怎样保证服务的自动扩容及故障恢复。他详细介绍了斗鱼 API 网关从最初仅支持动态负载均衡,到如今支持服务发现、请求限流、OA 认证、AB 测试、灰度测试、流量复制、蓝绿发布、开发平台等功能,为核心服务遭受爆发流量冲击时提供了有效保护。
OpenResty 游戏反外挂应用
福禄科技服务端研发罗宇翔,喜欢折腾 php、lua、Nginx 等技能,目前负责公司游戏反外挂服务端业务。专注于后端高并发,高可用服务设计,对 OpenResty 应用到 Web 项目有较多经验。罗宇翔在活动上介绍了他们针对游戏外挂,导致的封号、盗号的解决方案。
罗宇翔介绍目前很多游戏开发商把精力放在游戏业务场景上,却忽略了安全模块,如防止外挂,防盗号等,福禄科技针对这种情况实现了反外挂产品:外挂规则库、用户游戏环境检查、TCP网络校验、特征码校验、 扫内存代码校验等。罗宇翔提到在服务端 WebSocket Server 模块应用 OpenResty ,用 WebSocket 协议做长连接,解决了开发效率、高并发等诸多痛点。
OpenResty × Open Talk 全国巡回沙龙武汉站上,几位具备丰富经验的讲师通过分享自身的经验,令现场和直播观众收获匪浅。
本次活动各位讲师的分享内容将陆续更新,请大家关注 Open Talk 官网(https://opentalk.upyun.com)或又拍云微信公众号(微信 ID:upaiyun)。
又拍云联合 OpenResty 中国社区,举办 OpenResty × Open Talk 全国巡回沙龙,2019 年将陆续在深圳、北京、武汉、上海、广州、杭州等地举行,邀请业内资深的技术专家,分享 OpenResty 实战经验,推动 OpenResty 开源项目的发展,促进互联网技术的交流。
快 来 找 又 小 拍
推 荐 阅 读
关于技术
聊聊 CDN 缓存与浏览器缓存
4K视频在线看,网速跟不上怎么办?
京东云罗玉杰:OpenResty 在直播场景中的应用
•告 诉 大 家 你 “在 看” 这 篇 文 章 •
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 准确把握守正创新的辩证关系 7978179
- 2 中国黄金原董事长家搜出大量黄金 7953839
- 3 空调英文不会男生盯着考场空调看 7822177
- 4 消费品以旧换新“加速度” 7705379
- 5 被铁路售票员的手速惊到了 7609783
- 6 网红赤木刚宪爆改赵露思 7561604
- 7 县委原书记大搞“刷白墙”被通报 7484400
- 8 山姆代购在厕所分装蛋糕 7385421
- 9 马龙刘诗雯穿正装打混双 7224576
- 10 刘强东提前发年终奖 7194318