【IT168 专稿】喜欢运动,酷爱科幻类书籍,这位技术不宅男关于本届系统架构师大会有什么话要说呢?本期采访嘉宾——优酷土豆吕红亮,12年从中科院声学所博士毕业,先后在宝宝树、奇虎360从事推荐策略相关研发工作,现任优酷土豆数据智能团队技术经理,负责相关推荐算法研发工作,目前主要关注推荐系统和计算广告领域。
成功的架构应该具备哪些特点?
虽然本身专注于机器学习相关算法,但对于架构,吕红亮还是有一定的见解,他表示,成功的架构应该具备如下特点:
1、可扩展:可以随着请求量的增加水平扩展
2、可维护:要做到模块内部高内聚,模块间低耦合,架构比较清晰简洁,可以方便的增加功能和减少功能
3、可调式:方便的通过参数控制打印出内部的一些关键信息日志,实现快速调试
4、稳定性高:可以做到资源隔离,核心功能和外围功能隔离,能方便快速的降级;对外依赖接口都有隔离和熔断机制,外部依赖接口出现故障可以触发熔断机制,故障解决可以自动恢复;有完善的监控和告警机制,出现故障可以及时知道。
5、高可用:不存在单点故障,节点对等可以相互替代,或者是关键节点有热备,出现故障可以平滑自动切换,故障消除可以再自动切回来。
如何最大限度避免架构设计失败?
网上有很多文章都在谈如何设计一个成功的架构,实际上,最大限度地避免架构设计失败尤为重要,正所谓“成功大抵相同,而失败却各有各的不同”,架构设计失败带来的将是血淋淋的代价。吕红亮建议,可以多参考优秀的架构设计,设计之初至少要考虑一年内的需求变更,设计时要尽量思虑周全,对可能变化的地方预留接口;设计文档充分review;对系统整体重构保持敬畏之心,多做渐进式优化;在选型的时候需要考虑方案的通用型,这样遇到问题比较容易找到答案,尽量和现有的技术栈一致,可以利用之前积累的技术。
关于架构师搜刮架构,吕红亮这样说......
“搜刮”本身没有错,可以开阔视野,但不能作为主要的学习方式,正确的学习方式还是应该从基本原理(比如《The Art of Unix Programming》中介绍的原理)出发多实践,在现有系统上进行渐进式优化,找到适合公司特点和业务需要的架构模式。这是一门实践性特别强的技术,只有多做才能真正的掌握。另外目前网上公开的架构都不会特别细,细节还要靠自己进一步的调研和时间;而且各公司的架构都是从各自的历史演化而来,可能会存在一些不适合其他公司的设计,不能完全照搬,需要消化后再吸收。
优酷土豆视频推荐系统架构设计和技术痛点
优酷土豆拥有亿级别的视频,每日国内外的视频用户会贡献亿级别的视频播放次数,相关的行为数据更加丰富多样。相关推荐系统负责每日给广大用户提供有效高质量的视频推荐内容。用户刷剧的同时,这些推荐视频就“光明正大”地出现在界面上,优酷土豆的视频推荐系统面临哪些技术难点?目前的架构设计又做到了什么程度呢?
吕红亮表示,优酷土豆的视频推荐系统在线架构部分和主流的架构差不多,前面是LVS分流,后面是ngix分流,利用多实例应对大流量请求,存储层采用NoSQL存储数据库,包括Redis,Memcache和Hbase。而准实时部分主要利用kafka和storm架构,可以做到及时回流数据,根据用户最近几分钟的行为实时调整推荐结果;离线部分目前主要采用的是Mapreduce和Spark。支持算法做A/B Test, 可以按照用户或者请求做随机流量切分,走不同的计算逻辑。
在架构设计之中,遇到了Hbase响应时间过慢,但内存存储成本过高的问题,最后将Hbase集群硬盘全部换成固态硬盘解决了存储量和响应时间无法兼顾的问题。对系统不稳定的问题,采用服务降级,熔断等方式减小了影响面。为了避免被上游服务的故障或者性能问题拖垮,对上游服务调用进行隔离和监控,具体做法是实时监控上游服务的错误率和超时率,针对不同情况采用不同的降级策略,保证整体服务的稳定性;在降级的同时保持一个探针流量,便于在上游服务稳定之后能自动恢复。但目前的架构还不能支持特别实时的模型训练和使用,当算法模型采用的特征过多的时候,这些特征的和参数取值的存取还有一些问题。
寄语SACC
本届SACC以“架构创新之路”为主题,吕红亮也将在会上分享优酷土豆的视频精准推荐系统实践,主要面向推荐系统和精准定向广告的产品、算法和架构开发相关人士。他表示,非常期待本届SACC大会,并期望能够看到更多对大数据处理和应用的架构设计,比如深度学习系统架构,包括离线和在线部分,以及支持实时机器学习模型训练和实时特征获取利用的架构。
作为国内最受欢迎的架构师盛会,2016年第八届中国系统架构师大会SACC即将于10月27-29日在北京盛大召开。本届大会以"架构创新之路"为主题,安排两大主场和24个专场。届时,来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域的150多位技术专家将汇聚一堂,共同探讨云计算和大数据时代下,如何通过架构创新来实现企业的快速转型。更多内容请访问大会官网:http://sacc.it168.com/