58同城架构师做客名人堂访谈:体验神奇网站的架构魅力

2021-11-08 00:00:00 架构 同城 系统 设计 推荐

在中国生活信息应用类网站格局中, 58同城和赶集网以及百姓网被号称为三国鼎立。58同城,一个被称之为神奇的网站红遍了大江南北,近日又得到了腾讯企鹅的鼎力相助,此番入股,更是给58同城注入了一针强心剂。58同城究竟有哪些优势?不用中介租房子!不用花钱招人才!面对海量信息搜索,高并发用户请求,58同城是如何实现负载均衡?58同城的推荐系统架构又是如何实现的?本期名人堂我们邀请到了58同城系统架构师沈剑老师(社区ID:habadog1203 ),为我们揭晓58同城的神奇之处。关注新版名人堂http://www.itpub.net/star/




皮皮(Q1):沈剑老师,您好!很高兴邀请您坐镇本期的《名人堂》访谈,能否简单介绍下自己?分享下您引以为豪的项目?


沈剑(A1): 主持人,你好!大家好,我叫沈剑。我是来自58同城的架构师,产品技术学院讲师,兼任技术委员会主席。之前在百度做过几年的百度聊天工具百度Hi,商务沟通工具百度商桥。


引以为豪的项目?加入58同城之后,58帮帮(小编注:58同城商户平台,沟通平台,即时通讯产品),58支付系统重构,58推荐系统等几个项目历时较 长,对58也很有价值,比较有成就感吧。






皮皮(Q2):您曾经说过,一切抛开业务的架构设计都是耍流氓,您也负责过58同城即时通讯系统和支付系统的重构,在这些项目和系统的设计与 实现过程中,能否分享下您是如何结合业务来考虑架构设计的?从技术角度上,58同城如何应对高并发用户请求?

沈剑(A2): 即时通讯系统是一个基于推送的系统,它需要支撑百万甚至千万级别的同时在线,在长连接,推送,消息可达性方面需要做特殊的设计。

支付系统对数据敏感度较高,对数据的一致性和可靠性需要做特殊的设计。

58同城本质上是个web站点,它有自己的站点框架,以便业务端快速垂直拆分,同时逻辑层做好服务化,数据层做通用的数据库中间件,为了应对高并发,各个层次都要做水平拆分和HA,同时需要用好cache。





皮皮(Q3):58同城与腾讯联姻,可谓是强强联手,腾讯的QQ和微信入口到底能给58同城带来哪些价值?从架构的角度,QQ、 微信与58同城的即时通讯系统有哪些不同?

沈剑(A3):58之前没有自己的社交关系,可以借助微信的朋友圈关系做一些有想象力事情。同时,腾讯也把58同城作为其构建O2O及移动生态圈中很重要的一个部分。双方肯定是互利互惠的,大的受益者肯定是用户啦,能享受到更好的服务,体验更好的产品。

架构的角度嘛,58即时通讯和QQ,微信的即时通讯肯定有相似的地方,接入层,逻辑层,路由层,数据层。

说到不同之处,可能不同的协议算得上是一个。在数据量和在线量方面腾讯会超过我们,他们有跨城市多机房的设计,我们目前没有。还有就是他们是自己实现的数据存储,目前我们还用着一些开源的产品。





皮皮(Q4):在2014年中国系统架构师大会上,您的演讲主题是“58同城推荐系统架构设计与实现”,到底这种推荐系统会有哪些神奇的功能呢?能否提前透露下您的演讲内容?

沈剑(A4):说到推荐系统,我可以从业务上和大家解释下,以58同城的招聘频道为例:

用户浏览职位找工作,我们通过推荐相关的职位,可以更好的满足用户的需求;

商户下载简历,我们推荐相关的简历,能够更好的满足商户的需求;这些就是推荐系统的神奇之处,典型的技术驱动。

本次分享会介绍58同城推荐系统架构设计与实现细节,内容包括几个方面:

1)推荐系统难点,以及推荐系统与其他垂直业务系统的异同;

2)推荐系统架构设计,包括线上系统与线下系统协议,架构设计细节;

3)推荐业务的过程与流程细节;

的细节,的干活,对推荐系统架构感兴趣的同学不要错过哟。






皮皮(Q5):无论是淘宝、百度还是58同城,每天都会面临着海量信息的检索,实时查询成为了目前业界的技术难点,58同城网站的搜索系统又是如何应对的?

沈剑(A5):58同城的实时搜索技术也是非常引以为豪的,信息发布后,1s内就会被录入58同城实时搜索系统。

实时搜索系统分为proxy,merger,indexer,builder几层,为了满足实时性,index按时间分为年,月,日,小时,分钟,秒(实 际没这么细);

查询和写入分离,小粒度的索引定时向大粒度的索引合并。

技术细节还有些复杂,后续我可以邀请相关同事来做技术分享哟。






皮皮(Q6):很多人潜意识里可能会认为,架构师是个高大上的职业,离自己很遥远,真的是这样吗?您曾经在多个公开场合也分享过架构师的相关演讲,能否和我们分享下要想成为一名的架构师,需要修炼哪些软硬件实力?

沈剑(A6):点,上面也提到过,对业务保持关注非常重要,一切抛开业务的架构设计,都是耍流氓嘛。

第二点,要专注,时刻保持对技术的专注度,现在很多架构师做到后面就转经理,总监了,放在技术上的时间会减少,个人不建议这样。

第三点,要耐得住寂寞,沉得下心来,并发/数据/机器 等等规模越来越大的时候,一定会出现很多问题,沉下来把问题解决,就成长提高了。


软实力的话,积极性,主动性,沟通能力都很重要。技术人要努力摆脱“内向”“不善于沟通”“宅男”的帽子哟。

相关文章