OpenResty在腾讯游戏营销技术中的应用和实践
其它 JSON 操纵确实会耗损我们许多 CPU 的机能,我们一些同窗也常常在 debug 内里去打印,想把这个 debug 日记内里去打印很大都据布局内里的内容(用json.encode来打印),然后放到天生情形上去,固然这个 debug 操纵是不会执行,可是这个函数,JSON encode操纵是会执行的,这样的话会导致出产情形极大的机能消费,等等这样相同的环境还长短常多的,以是我们在现实进程傍边照旧要去寄望这样一些欠好的编码的风俗。 正则表达式匹配的优化 第三个就是正则表达式匹配的优化。各人知道正则表达式匹配都是由正则表达式引擎来做的,常用的正则表达式引擎就是PCRE,于是我们就去思量有没有越发高机能的正则表达式匹配的引擎呢?我们也去做了一些调研,正则表达式应用最多的规模着实是在安详规模内里,安详规模内里有这样的的IPS、IDS 这样的一些安详检测和防止性的产物内里会大量地行使正则表达式匹配的操纵,它之前也是用 PCRE 来做正则表达式的匹配。其后就是在这两年的时辰,都同统统换到了英特尔开源的 Hyperscan 这样的正则表达式引擎来了。 为什么它会去做这样的改变呢?Hyperscan 正则表达式引擎比这个PCRE有哪些上风呢?说明后发明它有这么几个方面的纷歧样可能说利益。
以是接下来是不是尚有可以优化的空间?虽然有,就是开启它的并性匹配度法则的操纵,这个 Hyperscan 内里也是提供了回调,然后我们只必要把每个法则配置一个符号位,然后去匹配完之后搜查这个符号位往后就OK了,就可以做获得了。 其它尚有一件工作是什么呢?就是正则表达式法则编写难度的题目,我们不能要求营业开拓同窗每次都要去编写正则表达式,这个对他们来说也不必然编写得正确,也有一些进修的本钱在内里。以是我们就去看了一下大部门的参数照旧较量相同的,以是就把这些参数的正则表达式做一些归纳,然后用一些笔墨性的描写,做了一个模板,营业职员就可以直接去选择这些模板就OK了,也很好的办理了这个题目。 安详性方面的优化 第四个方面的优化就是安详性方面的优化。安详性方面的优化要做的一件工作就是,它必要把我们这个 API 网关的安详计策去和公司现有的一些安详的产物做团结。腾讯内部有这样的本身的安详产物,叫门神,以是我们在 http 哀求进来post read阶段就去和安详产物做一个交互,让它去过滤流量。它过滤的流量没有题目之后,再进入到我们的安详计策内里。虽然这个安详计策也相对会较量简朴,包罗有 API 白名单,设置到 API 的流量才可以进到内里来。然后尚有基于用户过滤的利害名单,尚有登录校验,支持腾讯的手Q、微信等的多种校验方法,也都把它集成进来了。 其它去做参数校验,参数校验则用前面提到的正则表达式做很是严酷的必选参数的校验。其它就是假如做了很是严酷的正则表达式匹配的话,SQL 防注入等等这样的题目也不会有。这个就是安详性方面的优化。 可维护性方面的优化 最后就是可维护性方面的优化,我们也做了两点:
那到这里就快速简朴先容了一下第一个应用案例,在易用性、可用性、机能,尚有安详性以及可维护性这五点,我们的一些思索和优化的进程。 OpenResty 在腾讯游戏、告白投放体系中的应用案例 接下来进入到第二部门,就是 OpenResty 在腾讯游戏、告白投放体系中的应用案例。照旧和之前的内容一样,我不会涉及到许多详细的 OpenResty 的技能的细节,首要是想跟各人分享一下案例,以及在这个案例内里一些优化的头脑。 这个案例相对会较量斗胆一点,由于或许腾讯游戏有好几个亿的营销用度城市通过这个体系投放出去。告白投放的情势有许多种,有包段告白位的、包段时刻段的、包段流量的,尚有平凡竞价的,尚有及时竞价的。本日我想跟各人分享的就是及时竞价的告白投放情势和我们 OpenResty 的一个团结,以及 OpenResty 在内里的优化。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |