168大数据

标题: 当架构师们聊核心技术架构时,他们在聊些什么 [打印本页]

作者: 168主编    时间: 2015-4-3 14:40
标题: 当架构师们聊核心技术架构时,他们在聊些什么

3月22日,由七牛云存储发起并联合各方小伙伴为开发者举办的系列技术沙龙「开发者最佳实践日」第十期在北京如期举行。本次沙龙活动的主题是“分布式系统的的架构与实践”, 58同城资深架构师沈剑、七牛云存储首席架构师李道兵和新浪微博系统架构师卫向军三位技术专家,结合各自的业务实践经验,分享了在用户暴增情况下,采用何种架构系统最为合理,以及相应的架构思路和解决方案。

第一个出场的是58同城高级架构师沈剑。他将推荐抽象为几个要素:一个是用户在某一个场景下对某一个商品或者信息产生了一个行为,系统会对商品或者信息进行推荐。在58同城的业务场景里,六个要素分成了三大块:输入信息、推荐系统和输出信息,常用以下几种推荐方法:协同过滤法(CF),即对用户点击相似的喜好进行推荐;内容推荐,即对根据用户ID的历史行为及共性内容挖掘推荐的内容;综合排序——CTR预估,这点对于做平台的企业来说至关重要,因为除了点击率,商户的付费数量会直接影响平台收益,CTR打分公式属性跟业务紧密相关。

通过线下部分(线下挖掘模块、数据管理模块),线上部分(展示服务、分流服务、推荐服务、实时检索服务、系统监控),并加强效果监控部分(服务调用段、浏览器上报端、实时效果分析端)来保障推荐系统的更精准行为。


在移动互联网时代,应用更容易实现爆发增长,这时如何保证此种情况下仍然良好的用户体验、如何保证架构的高可用可伸缩等问题备受关注。七牛云存储首席架构师李道兵道给出了他的建议,从入口层、业务层、缓存层和数据库四个层面进行改进,具体见下图。

做到以上几点,基本的问题就能够在很大程度上解决用户量暴增的情况。虽然在过程中伴随着机器变多,运维和部署问题增多,但在大部分情况下能够解决基本架构系统中的高可用和可伸缩问题。

讲起用户量来,新浪微博的用户量也是全国为数不多的有着亿级用户量的应用,新浪微博的资深架构师卫向军娓娓道来的是新浪微博技术架构及演变的历史。在亿级用户量的体系下,为了控制流量与规模,微博的架构跟其他应用不同之处在于在客户端和服务端中间多加一个接入层。什么样的架构才能支持快速增长的业务需求呢?在百万级时可以使用LAMP,千万级使用SOA基本上就可以满足了。而如果体量更大,需要在服务治理、技术保障做更多的工作,那么就需要用到分布式追踪系统了。


分布式追踪系统的好处在于能排查问题,其次能用此框架做服务治理。新浪微博刚公布了羊年春晚的数据,用户DAU达到了1.02亿,总互动量是6941万,相关的阅读数为41.5亿。如此巨大的数据量,做分布式系统设计的原理和理论基础是首先要统一标准化语言与框架,通过标准化的日志把零散的各个日志搜集到一个统一的数据中心,再通过Spark和HBase得到想要的信息,预处理的信息,需要查看时通过系统查看,这就是一个成熟的系统架构的基本设计的理念。

不论是PC时代还是移动时代,任何一款应用的背后都需要一个足以撑起更大体量的架构,不论产品如何迭代变更,背后的架构也足以撑起任何一种业务状态。本期沙龙活动中三位嘉宾给出了他们亲历的时代及网站架构变更,而未来的应用又会需要什么样的架构师们呢?需要由各位架构师来书写。








欢迎光临 168大数据 (http://www.bi168.cn/) Powered by Discuz! X3.2