继成功举办首期TUP活动后,7月24日下午在北京丽亭华苑酒店鸿运二厅,由CSDN和《程序员》杂志联合策划组织的TUP第二次活动如期而至,本次活动以Web 2.0技术为主题,聚焦当下火热的社交网、微博架构与实时搜索领域。就相关领域及产品研发背后的技术、产品设计及用户体验话题为与会者提供全开放式的交流平台。即使是付费沙龙,参会报名人数仍在不断上升,本次活动有超过300人来到现场。
本次活动主办方特邀了曾任百度高级工程师(贴吧、空间等主设计及开发)、魔时网CTO、139移动互联研发部总监&架构师的王鹏云,人人网技术经理张铁安,新浪微博技术经理杨卫华为与会者带来精彩演讲,分别就实时搜索架构、Feed系统架构、微博Cache设计分享了他们多年积累的研发心得。
CSDN &《程序员》杂志总编刘江致开幕词,介绍了CSDN和《程序员》杂志举办TUP(Technology, User Experience, Product)系列活动的意义,对热点IT产品技术和人群的关注,从过去以线上活动为主,到目前通过定期举办类似于TUP、CTO俱乐部这样的高端技术人士的线下论坛,为业内专业人士提供更广泛的深度交流和经验分享平台。
曾任百度高级工程师(贴吧、空间等主设计及开发)、魔时网CTO、139移动互联研发部总监&架构师的王鹏云的演讲题目是《实时搜索架构分析》,他谈到了搜索系统和实时搜索的区别、系统架构、技术难点、开源工具等相关话题,他认为实时搜索并不是新鲜事物,在常见的新闻搜索、社区搜索中都有相关技术的应用,如今火爆的微博让实时搜索再次成为热点。而与传统搜索的区别,他认为实时搜索具有结果呈现动态化、搜索效果实时性和具有社会化特征、数据抓取推送方式结合,数据分布具有时间性等多重特性。
王鹏云强调了在设计搜索系统架构时的基本原则,把最新的、变化快的数据放到内存中,定期的把内存数据放到硬盘里以保证数据不丢失。
而在现场提问环节,来自北京锐安科技有限公司的产品中心总经理朱贺军问到,他们在做一个每天预计会有40亿次记录的数据查询系统,在实时搜索架构设计上,如何分配数据在内存Cache和硬盘的存放比例,才能够做到查询效率最大化。对此王鹏云表示这个问题还是要结合实际情况来看,关键看数据分布特性和查询策略,如果数据分布非常广,没有很好的局部性,可以想办法从索引读取上采取一些策略。如果关键数据分布在一定范围内,也可以考虑将索引库做成准静态,这样做Cache会很容易,还可以在硬盘选取上采用一些具体的策略。
人人网技术经理张铁安的演讲题目是《Feed系统结构浅析》,他谈到了在SNS中Feed系统的定位及功能、技术细节、数据获取Push和Pull的应用区别等等。他还重点谈到了对于索引的持久化系统——Feed Index DB需要解决的三个难题,数万级的每秒写入、每秒几千次的随机读、每天100G+的新增索引数据。张铁安认为如果采用常规办法对于每秒几万次的写入,除了堆几十或上百台机器,别无它法。测试结果:做Raid5的机器,在完全随机写的情况下,IOPS也就能到800+。如果将随机写改为顺序写文件,写入效率会高出很多。而通过充分的利用内存,在内存中将写入的随机索引进行整理和积攒,再顺序的写入硬盘,由于使用了延迟写入内存的方式,需要在Log中记录所有操作,方便出问题时能找回内存中的数据。此外,可以使用异步Direct IO,不要让OS多管闲事,浪费内存。
新浪微博技术经理杨卫华为与会者带来了《微博Cache设计》的主题演讲,在他看来,Cache设计决定了一个微博的优劣。而微博技术的三大核心应用则是数据的分发、数据聚合以及展现。每天微博,在技术上都用到了Status或Feed。杨卫华介绍了Feed架构的两种设计模式Push(推)和Pull(拉),其中Push优点是实现简单,缺点在于分发量,而Pull优点是节约存储,缺点是计算量大和峰值挑战。而在Cache设计上,杨卫华重点介绍了流程设计和带宽处理的问题。
在随后的圆桌论坛环节,由CSDN &《程序员》杂志总编刘江主持,王鹏云、张铁安、杨卫华以及美团网联合创始人穆荣均共同参与,分别就主流语言&新语言趋势、云计算带来的影响、当前各自关注的技术热点、非关系型数据存储NoSQL的未来等话题展开了深入探讨。(Jack/文)
据悉,TUP是由全球最大的中文IT技术社区CSDN和最具影响力的IT技术期刊《程序员》发起组织的线下活动,以业界知名专家讲座和论坛形式在北京、上海等主要城市定期举行,主要针对IT产品研发相关的技术、设计、运营、运维、管理专业人士,目的是与技术界人士共同关注IT产品研发背后的成败经验,关注技术、用户体验和产品设计,信仰开放、创新、交流和社区力量。
网友评论