zoukankan      html  css  js  c++  java
  • 阅读心得16:《豆瓣的基础架构》

    本周阅读了老师推荐阅读的公众号:架构师中的推文《豆瓣的基础架构》,感想如下:

           豆瓣,从最早的一个类似于读书论坛开始,越做越大,到现在已经建立起来了一个完整的评论社区型社交网站。

    豆瓣(douban)是一个社区网站。网站由杨勃(网名“阿北”) 创立于2005年3月6日。该网站以书影音起家,提供关于书籍电影音乐等作品的信息,无论描述还是评论都由用户提供(User-generated content,UGC),是Web 2.0网站中具有特色的一个网站。网站还提供书影音推荐、线下同城活动、小组话题交流等多种服务功能,它更像一个集品味系统(读书、电影、音乐)、表达系统(我读、我看、我听)和交流系统(同城、小组、友邻)于一体的创新网络服务,一直致力于帮助都市人群发现生活中有用的事物。

    豆瓣的活跃人数是多少呢,查阅晚上的资料可知:

    2012年8月,豆瓣宣布其月度覆盖独立用户数(Unique Visitors)已超过1亿,日均PV为1.6亿。 [1]  2013年第二、三季度的豆瓣月度覆盖独立用户数均达2亿,较去年同期增长一倍。到现在为止,活跃在豆瓣上的用户已超过3亿。

    那么又是一个破亿级别的平台,通过阅读本片文章, 我了解,他的架构。

    首先,豆瓣的定位,是专业的读书评论,电影评论,音乐评论网站,由于其公正公开的评论内容,其已成为业内标杆。

    豆瓣所使用的主要计算平台是自己开发的分布式计算平台DPark。

    DPark顾名思义是Spark的Python实现,不过现在已经跟Spark越来越不一样了。和 Hadoop 相比,Spark可以使用内存做为缓存加速分布式计算,DPark继承了这个优点,这对于大规模数据的迭代计算非常有用。在豆瓣的应用场景下,因为我们的 离线计算很多是推荐算法计算,这种计算涉及大量的迭代算法,如果每次计算的结果都入磁盘再在下一轮计算加载,那性能是很差的,所以DPark能够大幅提升 性能。另外,因为DPark的编写使用了函数式语言的特点,所以可以写的非常简洁:

    而豆瓣所使用的数据库中间键是BeansDB中间的Proxy是用Go语言写的,也是一个开源的组件。整体来说BeansDB的设计结构比较简单,相比Redis那种有多种value 类型的方式,BeansDB的Value比较简单一些。

    在豆瓣内部建立了两个不同的BeansDB集群,一个是doubandb,一个是doubanfs,分别针对不同的场景。doubandb主要存储 小型文本数据,如影评、用户个人介绍、帖子内容等,这样的好处是可以大大降低我们对MySQL的性能依赖,算是给MySQL减负;doubanfs主要存 放图片和音频等中型数据。

    在网上查阅了相关资料得知,该类型的数据非常适合存储评论等,使用这样的设计可使得豆瓣平台的性能发挥到最大化。

    文中提到:豆瓣开发工程师使用的开发语言一般都是Python、C和Go。

    最后的go语言我只是听过,并没有认真的了解。相信在大四上学期我一定会有所涉猎。

    对我而言,我现在的主要目标是去学习,试着去理解软件架构中的知识,通过这两年的学习,我越发越清晰,软件不只是简简单单的写代码、改bug,之所以能称得上是软件工程,他必须符合工程所有的要求。从需求分析开始,从设计架构,设计软件的功能模块,软件测试、最后才是软件代码编写。在以后的学习中我会更加努力,学习软件架构。涉略相关知识,提上自己的能力,开拓自己的眼界。

    本学期的课程已结束,我认为我自己收获了很多,在软件杯开发过程中,虽然没有进复赛,但是在开发过程中我们认真探讨了遇到的问题,努力学习知识,提高自己的编程水平,,将大问题分解为小问题,小问题解决。真的是老师所说的分而治之的原则。

    文章地址:

    https://mp.weixin.qq.com/s?__biz=MzA5NDI5MTgwMg==&mid=200664136&idx=1&sn=3e1949d70fd4ab1d5229492fc7d52f36&scene=21#wechat_redirect

  • 相关阅读:
    vue后台模板推荐
    Webstorm的一些常用快捷键
    dataTables 插件学习整理
    js阻止事件冒泡
    vscode常用快捷键
    VScode插件以及配置
    今日笔记2
    ES6中的import()函数
    ES6之class 中 constructor 方法 和 super 的作用
    JS设计模式一:单例模式
  • 原文地址:https://www.cnblogs.com/ljl1998/p/11056270.html
Copyright © 2011-2022 走看看