OpenResty在腾讯游戏营销技术中的应用和实践(5)
接下来就在逻辑层的优化,逻辑层主要是竞价引擎,竞价引擎会涉及到大量的内部服务的访问,比如标签查询、广告检索,还有点击率预估查询、频次控制查询、计费检查等等这样一些内部服务访问,同时会涉及到大量的调DB、调缓存、调redis等操作,我们很多的业务其实都是这样的,大量的I/O操作,非常典型的 IO 密集型的服务,所以我们也是非常果断地用 OpenResty 把它完全重构了,之前都是采用比较传统、非常老旧的C++的多线程同步框架。当然现在内部也有很多C++协程的方案,我们还是选择用 OpenResty 直接把它重构了。 另外一个方面就是利用 OpenResty 新建一些新的协程,去把之前一些串行化的操作做并行处理,来降低时延,可能一两个并行化操作就可以降低竞价出价的时延10%左右,也是非常可观的收获。 最后就是在数据层这一块,我们看看 OpenResty 是否有它的用武之地呢? 数据层DMP 有三个功能,第一个是数据的采集,第二个是数据的计算,第三个就是数据的应用。在最原始数据采集这一块,因为我们后面也会把 DMP 做得更大,为我们营销体系做服务的,所以这里面涉及到大量的数据采集的工作,包括广告曝光、社区行为、公众号行为、各种营销活动行为等等,当然和之前一样,经过加密处理后进行收集。 那在数据应用这一块,我们有大量的标签查询、账号转化,还有内部数据合作、实时查询等等操作,这些操作其实都是非常,也可以直接用这个 OpenResty来做,所以我们用了非常少的服务器,很轻松的就可以处理数十亿这样的一些数据收集和查询操作。 那到这里,我的2个应用案例就分享完了,最后用四个数字来总结一下我讲的内容,以及想表达的优化思想,3527(不是9527):
【本文是51CTO专栏作者张开涛的原创文章,作者微信公众号:开涛的博客,id:kaitao-1234567】 戳这里,看该作者更多好文 【编辑推荐】
点赞 0 (编辑:ASP站长网) |