【转】FreeWheel 于晶纯 架构四原则

本文探讨了视频广告管理系统(MRM)的设计理念与架构原则,包括明确用户需求、梳理复杂业务逻辑、高度抽象共性和持续监控调整等方面。作者借鉴了DoubleClick DART系统的成功经验,针对视频广告的特点进行了创新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从DoubleClick的DART网络广告系统,到FreeWheel的MRM系统,无论是从产品创意还是系统架构,于晶纯都不讳言从DART系统有所借鉴。在DoubleClick的那些经验和教训,形成她对架构独特的认识,并将其应用到MRM系统架构中。

  原则一:搞清用户是谁

  设计一个系统,必须搞清楚用户是谁?和哪些其他应用有关系?比如MRM,它的用户是视频网站、内容提供商和广告商。MRM的架构会考虑这些视频网站的架构,但是又不局限于某一网站架构。因此,明智的选择是开放型的,比如HTTP接口、XML格式等。

  原则二:理顺业务逻辑

  什么是MRM架构遇到的最大难题?于晶纯的回答是业务逻辑的复杂性。虽然一致性的地方是有,也存在规律可循,但是MRM作为一个发明和创造,其独特之处在于视频是作为内容整体。相比于传统媒体广告,广告内容是固定在一个位置的,不论是报纸、杂志、广告牌还是电视机屏幕。但是视频广告是流动的,各个视频网站都有可能播放同一个内容,用到同一个广告。如何实现这样复杂的业务逻辑是MRM架构最大的难题。

  原则三:高度抽象共性

  开发一个系统或软件,如何确保精准实现功能、更低代码Bug,如何在高流量、高性能的压力下运转自如?实现这些靠的是架构设计。

  开发高效能、高稳定的软件系统是有一定共性的。在设计中要充分考虑并高度抽象这些共性,避免犯别人犯过的错误。于晶纯在DoubleClick工作十余年,目睹并亲身参与改造DART系统,看到它从一台角落里的服务器到遍布全世界的数据中心,日数据处理量达190亿Bit,故障率达到99.9% Uptime。正是这些从经验和教训中抽象出来的共性,保证了MRM的高性能、高流量设计实现。

  原则四:架构需要监控

  2007年,于晶纯带着自己的团队开始按照自己想象中的需求设计MRM系统的架构。幸运的是,闭门造车的结果还算令人满意,MRM系统基本满足用户80%的需求,这些得益于整个团队对业务的深刻理解和于晶纯在DoubleClick的相关经验。

  在于晶纯眼里,架构是有生命的,是不断变化的。因此,她认为,设计架构不能只想着要考虑到所有的问题,设计出一个能够包容所有可能问题的架构,这几乎是不可完成的任务。因为变化是绝对的,架构总会需要修改,关键问题在于何时改?一定不能在系统问题频出、已经来不及补救的时候才去考虑修改,而要在潜伏的问题逐渐露出端倪之前展开行动。因此,架构是需要监控的。通过监控各项指标,在最适当的时候对架构进行最适当的修改,以满足变化的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值