媒体推广业务架构演进

在互联网APP项目推广中,媒体在线推广是市场推广中重要的推广手段之一,通常在运营中称之为买量或者付费推广,在推广的过程中,广告主需要与媒体进行对接,广告主需要对媒体侧下发的点击信息进行接收,用户下载完成激活后,还需要通过媒体下发的点击信息对新增或者沉默后又活跃的用户进行识别,主要识别来源于哪个平台及具体的广告效果,最后还需要回传通知广告平台激活用户设备相关的信息,从而实现广告平台与广告主之间推广及效果追踪溯源的链路闭环。七猫的媒体推广业务架构也随着业务的发展进行了一系列的演进,本文整理了整个过程中重要的调整节点,介绍整个架构的演进过程。…

Canal在亿级数据量业务中多维度聚合的应用

Canal的工作原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到Canal发送过来的dump请求,开始推送binary log给Canal,然后Canal解析binary log,再发送到存储目的地,它的特性使得我们可以简单的应用它通过数据库表数据状态来解耦业务,一方面,通过简单的配置就能实现数据源发布订阅模型,操作简单;另一方面,订阅数据的存储支持多种方式,可满足不同的业务类型。在有相似的场景下,应用Canal能够快速解耦业务,方便扩展,设计出更加高效的架构。…

踩坑记之 Xorm 升级

大部分情况下,项目是由业务驱动的,在开发过程中,由于业务较多,开发任务繁重,会代码质量下降。而此后由于顾及项目的稳定性,我们往往倾向于保持旧的代码不动(哪怕知道很多地方可以优化的情况下)。通过引入完整的单元测试和集成测试,加上 Goland 强大的 Refactor 功能,是可以在业务开发任务较轻的时候进行项目代码优化的。目前在其他项目上,我们已经经过几轮较频繁的优化迭代了,没有出现过像此次这样的故事。不过,在优化的过程中,我们要保证对业务逻辑不影响,就得保证进行充分的回归测试。我们应该多做小范围重构,而不是等到项目无法维护时再进行项目重写。…