又拍云Open Talk:OpenResty最佳实践

  • 时间:
  • 浏览:0

8 月 31 日,由又拍云、OpenResty 社区主办的 OpenResty × Open Talk 全国巡回沙龙·成都站在言几又·成都凯德店顺利落幕,这是系列活动的第五站。OpenResty × Open Talk 全国巡回沙龙旨在

       8 月 31 日,由又拍云、OpenResty 社区主办的 OpenResty × Open Talk 全国巡回沙龙·成都站在言几又·成都凯德店顺利落幕,这是系列活动的第五站。OpenResty × Open Talk 全国巡回沙龙旨在能助 OpenResty 在技术圈的发展,增进 OpenResty 使用者的交流与学习。在成都站活动现场,五位嘉宾分享了村里人 专业的观点和经验,让到场的开发者受益匪浅。

  成都站活动现场合影

  OpenResty × Open Talk 全国巡回沙龙成都站邀请了 OpenResty 软件基金会发起人温铭、王院生、又拍云系统开发高级工程师黄励博、原贝壳找房基础架构部工程师尹吉峰、奇安信工程师艾菲,分享了包括高性能 API 网关、云存储网关、高性能 Web 应用等 OpenResty 相关技术应用,为近百位现场观众和数千线上观众提供了一场技术盛宴。

  言几又·成都凯德店

  说起成都让让我们 让让我们 的第一反应肯定是天府之国、美食之都、火锅二巨头之一,总而言之吃就完事了!然而本次活动的一大亮点因此在千丈口水中硬生生开出一片书香墨意,许多独具特色的活动场地——言几又·成都凯德店,为技术分享增添了一丝艺术气息,此处书成墙壁,纸建空间,字画风情,讲师们分享的内容化为有血有肉的实体,让每另八个多人到场者都被知识所包围。

  怎么才能 才能 做 API 网关的选型、测试和持续集成

  OpenResty 软件基金会发起人温铭做了开场分享,他是开源微服务 API 网关 APISIX 作者,《OpenResty 从入门到实战》专栏作者,他以开源微服务 API 网关 APISIX 为例,详细介绍了 API 网关的选型和持续集成实践。

  OpenResty 软件基金会发起人温铭

  APISIX 是另八个多云原生、高性能、可扩展的微服务 API 网关,基于 OpenResty 和 etcd 实现,和传统 API 网关相比,APISIX 增加了包括支持多云和混合云、无情况表、随意扩容和缩容等在内的诸多功能,也能更为妥帖的满足企业个性需求的开发。

  温铭介绍了 API 网关的核心组件包括路由、插件、schema 和存储等,他通过对着八个组件的合理挑选,使 APISIX 具有了无需 独有的功能;测试方面,APISIX 遵循着测试驱动开发的原则,通过单元测试、代码风格测试和代码覆盖率的检测,使 APISIX 达到了超高性能;持续集成方面,APISIX 强依赖 GitHub 和 travis CI,以及 coveralls.io。

  温铭总结到, APISIX 项目在设计与实现过程中,面临着资源少的什么的问题,因此通过对现有组件的合理使用,APISIX 的选型、测试和 CI 都找到了“取巧”和自动化的土妙招,大大提升了项目完成的数率和项目的性能,GitHub 和 SaaS 能提供的,绝对暂且村里人 造轮子。

  又拍云基于 OpenResty 实现的云存储网关

  又拍云系统开发高级工程师黄励博,在又拍云主要负责私有容器平台、云存储、云处理相关的挂接和开发工作,熟悉 Python/Lua/Go 等语言,在 Docker 容器方面拥有丰富的实践经验,在 ngx_lua 和 OpenResty 方面有着丰富的模块开发和维护经验。他在现场介绍了又拍云基于 OpenResty 实现的云存储网关,设计索引、存储、分块、负载均衡、流量控制等功能的实现与使用土妙招。

  又拍云系统开发高级工程师黄励博

  黄励博从数据拆分、路由配置、存储常用的增删查改和扩容八个方面,详细介绍了 OpenResty 在又拍云存储中的实际应用。

  黄励博讲到,又拍云存储是分布式存储,而分布式存储的优势为高可用、易扩展和易维护。而又拍数据的拆分是由 OpenResty 来进行的三次拆分,拆分后又将 OpenResty 作为路由层并详述了路由的配置规则。因此介绍了又拍云存储系统中,以 OpenResty 的限制模块为基础开发的 token bucket 的土妙招,向让让我们 让让我们 详细的分享又拍云存储体系。

  有点地,又拍云作为数率应用 OpenResty 的企业,正在不断为 OpenResty 社区输出开源能力,目前不可能 开源了以下项目:

  [1] upyun/slardar (https://github.com/upyun/slardar)

  [2] upyun/lua-resty-checkups (https://github.com/upyun/lua-resty-checkups)

  [3] upyun/lua-resty-limit-rate (https://github.com/upyun/lua-resty-limit-rate)

  怎么才能 才能 使用 OpenResty 搭建高性能 Web 应用

  原贝壳找房基础架构部工程师尹吉峰,多语言爱好者,偏向异步和函数式编程,酷爱原型搭建,先后在贝壳使用 OpenResty 搭建了 WebBeacon、图片处理、短连接服务等。他在现场介绍了怎么才能 才能 使用 OpenResty 做内部框架写服务,是否是并都不 比较小众的用法。

  原贝壳找房基础架构部工程师尹吉峰

  尹吉峰认为过早优化是万恶之源,另八个多好的服务绝对都会优化出来的,架构决定了另八个多服务的基准。是否是需 Web 服务实际上是不适合做水平伸缩的,因此也要高性能。他介绍 Web 应用绝大多数都会 IO 密集型,通过异步编程、事件驱动的土妙招还都能不能 提高性能。

  尹吉峰提到,OpenResty 是 Nginx 和 Lua 的有机完美结合,Nginx 是一流的反向代理服务器,在一线的互联网公司不可能 是另八个多标配,因此在引入 OpenResty 风险很低;而 Lua 是小巧灵活的编程语言,支持 Coroutine,LuaJIT 性能强大,支持 FFI。然后 ,他详细介绍了过去使用 OpenResty 构建高性能 Web 应用服务的实践。

  那先 你不可能 我想知道的 OpenResty 行态

  奇安信服务端开发艾菲,网名河马大侠,《 OpenResty 最佳实践 》贡献者,前 OpenResty 软件基金会成员。2013 年加入奇虎 3400,擅长使用 OpenResty 完成各种网关和缓存行为。他在现场介绍了 OpenResty 中具有重要意义的许多模块、命令、API 和框架等。

  奇安信工程师艾菲

  艾菲首先介绍了 OpenResty 作为 Web 服务器,提供了丰富的 Lua API,包括 ngx.say、ngx.resp.get_header、body_filter_by_*、ngx.exit() 等,让让我们 让让我们 还都能不能 去操纵 HTTP 的 request和 response 等基本元素,从而灵活控制整个 HTTP 的请求和响应体。不可能 遇到业务代码,还都能不能 用 Lua 的土妙招编辑,开发数率是无可反衬的。

  艾菲介绍了定时器 ngx.timer.at 用法,还都能不能 实现延迟运行的任务逻辑,甚至于通过许多特殊的调用土妙招实现定时任务的功能,许多 API 还有另八个多“非凡”意义,还都能不能 实现跨作用域。他在分享最后介绍了许多 HTTPS 的性能什么的问题以及处理的土妙招。

  高性能 API 网关实践

  OpenResty 软件基金会发起人王院生,《OpenResty 最佳实践》作者,开源微服务 API 网关 APISIX 作者,在 OpenResty x Open Talk 上海站的活动上,他详细介绍了 APISIX 怎么才能 才能 做到高性能及实现的技巧,本次分享,他介绍即将发布的APISIX 0.7 版本路由不可能 支持插件化,一起去不可能 超 400% 的代码覆盖率。

  OpenResty 软件基金会发起人王院生

  王院生在现场分享了许多通用的 OpenResty 编程技巧,他将 radixtree 和 r3 做了对比解释了 APISIX 挑选 radixtree 的意味,匹配模式简单、高效,支持遍历、回调等;ngx.var 能使项目性能提速,最简单的土妙招是用 iresty/lua-var-nginx-module 的仓库,可是否是 5% 的性能提升;当遇到 fail to json encode 的情况表时,他的做法是强制对 cdata、userdata 等进⾏编码,在有循环嵌套时依然还都能不能 打印。

  除此之外,王院生还向在场的开发者推荐了他村里人 写的静态代码检查工具,能帮助处理无需 代码风格的什么的问题。apisix/core 也是另八个多非常值得学习的基础库,帮助让让我们 让让我们 了解许多非常实用的库的实现。

(本内容属于网络转载,文中涉及图片等内容如有侵权,请联系编辑删除)