云时代架构之豆瓣的基础架构读后感

阅读了豆瓣的基础架构,接触了很多新名词,有很多都是没有接触过甚至是没有听过的,说明离就业要求还差着很多,以下是阅读这篇文章我学到的东西:

豆瓣整个基础架构可以粗略的分为在线和离线两大块。在线的部分和大部分网站类似:前面用LVS做HA,用Nginx做反向代理,形成负载均衡的一 层;应用层主要是做运算,将运算结果返回给前面的用户,DAE平台是这两年建起来的,现在大部分豆瓣的应用基本都跑在DAE上面了;应用后面的基础服务也 跟其他网站差不多,MySQL、memcached、redis、beanstalkd,不一样的是NoSQL的选择——BeansDB。

BeansDB(豆瓣开源数据存储系统),豆瓣公司以New BSD许可证发布了分布式key/value存储系统BeansDB,开发者称BeansDB是简化版的Dynamo,Dynamo是亚马逊公司开发的高可用性key/value存储系统。BeansDB采用类似memcached的去中心化结构,在客户端实现数据路由。目前只提供了Python版本的客户端,其它语言的客户端可以由memcached的客户端稍加改造得到。主要特性包括: 高可用:通过多个可读写的用于备份实现高可用;

最终一致性:通过哈希树实现快速完整数据同步(短时间内数据可能不一致);

容易扩展:可以在不中断服务的情况下进行容量扩展

高性能:异步IO和高性能的KeyValue数据TokyoCabinet:

可配置的可用性和一致性:通过N,W,R进行配置;

简单协议:Memcache兼容协议,大量可用客户端。

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

DAE平台的基本信息:DAE度假交换作为知名全球度假交易平台,其核心价值为“提供全球交换服务”,并在全球各大区域构建本土化特色,通过线上交换联动线下运营为不同项目提供具体的产品建议。

我自己也用过豆瓣,什么电影评分排行,图书评分排行等等等等,数据非常多,如此庞大的数据无论是挖掘还是存储都是一个问题,对此,豆瓣的技术组件是海量分布式文件系统MooseFS,这个文 件系统的结构类似HDFS,用C语言编写,其好处在于FUSE模块实现的比较好,用文件系统就可以直接进行操作,而不需要专门的命令,可以支持的数据量也 很大。另外就是自己开发的分布式计算平台DPark。

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

以上是我读完文章学到的东西,对于作者,作者原先是学习硬件的,后来转战软件技术,加上对硬件的熟悉,结合熟练地编程语言,在豆瓣工作的很顺利,因此,对一项技术的深刻理解不但要对算法理解,还要把对硬件的理解加进去。另外文章最后提到了豆瓣对于新技术的看法,豆瓣对于新技术的引入比较偏激,公司鼓励大家学习新技术,但不会盲目引入新技术,对于新技术,必须深刻理解,保证用了之后如果出现问题有能力解决才行。

原文地址:https://www.cnblogs.com/zhangliqiangvictory/p/10503494.html

时间: 2024-10-08 14:13:51

云时代架构之豆瓣的基础架构读后感的相关文章

豆瓣的基础架构

架构 豆瓣整个基础架构可以粗略的分为在线和离线两大块.在线的部分和大部分网站类似:前面用LVS做HA,用Nginx做反向代理,形成负载均衡的一层:应用层主要是做运算,将运算结果返回给前面的用户,DAE平台是这两年建起来的,现在大部分豆瓣的应用基本都跑在DAE上面了:应用后面的基础服务也跟其他网站差不多,MySQL.memcached.redis.beanstalkd,不一样的是NoSQL的选择——BeansDB,这是我们在几年前开源的KV数据库,也是国内比较早开源的KV数据库. BeansDB项

智慧政务云平台建设方案案例与基础架构

大数据技术的应用与发展正在让我们的生活经历一场深刻的"变革",而且这种变革几乎让所有人都感觉非常舒服,自然而然的就完成了这样的一个变化.最根本的原因其实是大数据技术的应用真正帮助我们解决了问题.我想也正是基于大数据技术的超强实用性吧,它才会被上升到国家战略层面的高度得以出现在政府工作报告中.大数据技术的应用于,对于建设智慧政务平台的可谓功不可没.智慧政务云平台的建设技术以及方案,可以说是比较成熟了,当然前提是必须与大的.开发团队强的大数据公司或者机构合作(不过,一般做大数据的都是有一定

基于云存储服务构建应用的基础架构(图)

---------------------------------------------------------------------------------- 客户端请求业务层获取数据与授权,业务层存储数据凭证,用于对数据的直接管理: 客户端对私有资源无直接访问权限,必须通过业务层. 上传完成后指定回调方法,执行业务层逻辑. 安全机制,主要使用服务端秘钥生成的凭证.

云与移动下物流与供应链轻企业IT基础架构

伴随云计算的高速发展,将企业的应用部署在云端数据中心的方式已经成为越来越多企业的选择.以摩托罗拉系统为例,除了电子邮件系统采用微软云端的outlook 365,销售管理平台采用salesforce.com之外,公司内部的知识库系统(insite.motorolasolutions.com ).财务平台.人力资源管理平台全部采用WEB应用模式并部署在云数据中心上. 云计算及移动互联网时代的企业应用的变迁 基于实际使用经验,摩托罗拉系统认为:通过将企业应用部署在云端的方式,企业IT 系统稳定性和网络

微软云基础架构Hyper-scale Datacenter

每天醒来,可能很多人的习惯都是打开手机,看看微信,刷刷朋友圈,或者看看新闻,去咖啡店,打开电脑搜索一些关键字,观看视频,电视剧--可是你有没有想过你每一次键盘的敲击,每一次微信的语音的发送,数据会流向哪里,会怎么传播,我们怎么会快速的得到离我最近的餐厅信息?事实上,你所使用的所有这些服务,都运行在一个个的数据中心中,而数据中心正是信息世界中数据交换,流动,计算的心脏. 越来越多的大型IT公司将自己的数据中心和云端基础设施作为其重要的战略资产和核心竞争力的一部分,也有人可能看到过网上流出的goog

微软云基础架构 Hyper-scale Datacenter

每天醒来,可能很多人的习惯都是打开手机,看看微信,刷刷朋友圈,或者看看新闻,去咖啡店,打开电脑搜索一些关键字,观看视频,电视剧--可是你有没有想过你每一次键盘的敲击,每一次微信的语音的发送,数据会流向哪里,会怎么传播,我们怎么会快速的得到离我最近的餐厅信息?事实上,你所使用的所有这些服务,都运行在一个个的数据中心中,而数据中心正是信息世界中数据交换,流动,计算的心脏. 越来越多的大型IT公司将自己的数据中心和云端基础设施作为其重要的战略资产和核心竞争力的一部分,也有人可能看到过网上流出的goog

多云和混合云如何使用基础架构实现配置管理

随着运维流程变得越来越灵活,IT团队面临着越来越大的复杂度.当应用动态改变时,可以使用敏捷或者持续应用开发.但是当IT资源本身动态变化的时候怎么办呢? 多云和混合云是这一新的.动态的IT大格局的一部分——并且带来了新的风险.要解决这里的问题,一些企业使用了基础架构即代码方案. 配置管理(CM)在大规模IT基础架构里一直是必需配置.有一些CM工具,来自于云供应商,比如Amazon Web Services或者Microsoft Azure,或者来自于虚拟化或私有云软件供应商,比如OpenStack

公开课视频-《第03章 部署-IT基础架构》-大企业云桌面部署实战-在线培训-视频(奉献)

********************************** 在线-培训班-视频:(已完结) ********************************** 2017-03-25-第01章 规划.mp4 2017-03-28-第02章 准备-环境.mp4 2017-04-16-第03章 部署-IT基础架构.mp4 链接:http://pan.baidu.com/s/1hrDDFbm 密码:hgdw ********************************** 公开课已讲课程

【云宏大讲坛】超融合,融合的不仅是基础架构

Gartner的技术成熟度曲线表明,当前超融合开始进入快速成长期,随着数字化转型和业务全面云化的推进,超融合的势力范围不断扩张.而据IDC数据显示,2017年中国超融合市场同比增长115.3%,整体市场规模达到3.793亿美元,超融合表现出强劲的市场主流的潜力. 目前超融合市场日趋繁盛,但产品形态同质化.成熟度参差不齐的问题给用户选型带来了困扰.经过对大量现有客户的需求调研,以及对企业云计算市场趋势的洞察,云宏的超融合产品进行多次版本迭代,已经演变成企业专有云神器. 云宏超融合在计算.网络和存储