豆瓣在数据库和集群方面的架设中的亮点
2021-01-05 09:23:00 阅读(159) 评论(0)
豆瓣的整个基础设施大致可以分为在线和离线两部分。在线部分类似于大多数网站:LVS作为HA,Nginx作为反向代理,形成负载平衡层;应用层主要用于计算,并将计算结果返回给以前的用户。DAE平台是在过去两年建立的,现在大多数豆瓣应用程序基本上都在DAE上运行;应用程序背后的基本服务与其他网站相似,MySQL、memcached、redis、beanstalkd,不同的是NoSQL的选择——BeansDB,这是我们几年前开源的KV数据库,也是国内较早开源的KV数据库。豆瓣的技术结构和主要部件豆瓣作为一家早期选择Python作为主要编程语言的公司,网站使用的许多技术都与Python有关,包括主要框架quixote、DPark等自行实现。其它技术的选择没有太大区别:nginx、MySQL、memcached、BeansDB、redis...都是知名的开源项目。其它技术的选择没有太大区别:nginx、MySQL、memcached、BeansDB、redis...都是知名的开源项目。在这些开源项目中,豆瓣根据自身产品的特点进行了有针对性的配置和部署。除了使用开源项目外,豆瓣还根据自己的需要独立开发或实现了一些产品,如DAE、DPark等等。顾名思义,DAE全名Doubanaplicationengine,类似GAE、SAE内部PaaS系统。使用这种PaaS有很多好处,比如第三方库数量丰富,支持多个版本并存,资源配置灵活,可以为工程师节省很多不必要的工作。BeansDB是DAE中非常重要的组成部分,其设计理念起源于亚马逊的Dynamo,但简化了Dynamo的一些复杂性。BeansDB主要用于小文本、中型图片和音频,其共同特点是写作次数特别少,这也是BeansDB擅长的领域。DPark类似于Spark,是豆瓣用Python实现Map-Reduce的类似框架。虽然Python的性能低于基于JVM的Clojure,但它避免了程序员进入不熟悉的领域,豆瓣使用开源项目的原则是:如果你不能完全掌握它,你宁愿不使用它。"另外,将Spark移植到Python上也很简单,基本上是一对一的翻译。BeansDB项目可以说是AWSDynamoDB的简化版,该项目于2008年启动,2009年开源,排名第一⼀版使⽤作为存储引擎,tokyocabinet于2010年使用⽤bitcask存储格式重写存储引擎,性能更好。BeansDB为key做哈希运算,找到节点来实现分布和冗余,一个写作操作会写几个节点,而现在的配置是写三份读一份。BeansDB的主要特点是支持大量KV数据库——BeansDB可以支持数百T数据,而Redis是一个支持数十G到数百G的内存KV数据库。此外,BeansDB最大的优点是操作和维护非常简单,具有良好的性能、可用性和扩展性,并实现了最终的一致性。BeansDB中间的Proxy是用Go语言写的,也是一个开源组件。总的来说,BeansDB的设计结构比较简单,BeansDB的Value比Redis的Value简单。在豆瓣内部建立了两个不同的BeansDB集群,一个是doubandb,另一个是doubanfs,针对不同的场景。doubandb主要存储小型文本数据,如影评、用户个人介绍、帖子内容等,可以大大降低我们对MySQL的性能依赖,减轻MySQL的负担;doubanfs主要存储图片和音频等中型数据。可以说,DAE是基于许多以前积累的、旧的组件。与外部PaaS相比,我们所做的内部PaaS做了很多简化,特别是在安全方面,如应用间隔离和权限管理。我们不必像公共云那样花费大量精力,所以工作量实际上是好的。DAE现在计划开源,当然现在只支持Python应用。在未来,我们可能会让DAE支持Go语言。以上是在线部分,对高可用性和低延迟有很大的要求。离线部分包括数据挖掘、数据分析等。技术组件是大量分布式文件系统Mosefs。该文件系统的结构与HDFS相似,用C语言编写。其优点是FUSE模块实现良好,可直接用文件系统操作,无需特殊命令,可支持大量数据。此外,DPark是自己开发的分布式计算平台。顾名思义,DPark是SparkPython的实现,但现在与Spark越来越不同了。与Hadoop相比,Spark可以使用内存作为缓存加速分布式计算,DPark继承了这一优势,对大规模数据的迭代计算非常有用。在豆瓣的应用场景中,由于我们的许多离线计算都是推荐的算法计算,因此该计算涉及到大量的迭代算法。如果每个计算结果都进入磁盘,然后在下一轮计算中加载,则性能非常差,因此DPark可以大大提高性能。另外,由于DPark的编写采用了函数语言的特点,所以可以写得很简洁:
推荐阅读
- wifi共享软件哪个好 2022免费的wifi共享软件
随着技术进步,很多现在的数据资费降低、和用户隐私安全的提高,还伴随着对外开放免费的WiFi服务覆盖了各个场景,大部分人也渐渐的降低了对WiFi万能钥匙的依赖性。曾经风靡一时的万能钥匙现在也面临被淘汰的遭遇。 “万能钥匙”过气了? 万…查看详情
- 微信分身是什么意思
什么是微信分身功能?微信分身、微信多开、微信双开,应用多开分身更安全稳定不封号! 《微多开分身》APP作为应用多开分身类,微信用户口碑款分身APP,可轻松实现如:微信多开、微信双开、游戏多开等几乎所有应用的多开分身,完美解决用户多账户同时…查看详情
- 好看的美国喜剧有哪些 美国最经典十大喜剧
其实很多人都喜欢看美剧,而且经典的美剧也有很多,下面万商云集小编给大家来详细介绍一下好看的美国喜剧有哪些 美国最经典十大喜剧,不知道下面的这些美剧大家看过没有。 麦克斯的话看似是狠辣的毒鸡汤,可当我们认真品味,却总能发现里面是满满的勇气,…查看详情
- 值得考虑的7款制图软件,有效增加工作效率
在工作和生活中可能会涉及到需要制图的需求,这时大家如果能够选择一款好用的软件,就可以节省时间增加工作的效率。但如果选择的软件不当,自然也会影响到图片的制作,因此可见制度软件的选择至关重要,那么制图软件哪个好呢?这几种值得考虑,大家可以了解一…查看详情
- 广告策略主要包括哪些策略?
试比较分析企业目标市场战略的三种模式?1、无差异性目标市场策略该策略是把整个市场作为一个大目标开展营销,它们强调消费者的共同需要,忽视其差异性。 采用这一策略的企业,一般都是实力强大进行大规模生产方式,又有广泛而可靠的分销渠道,以及统一的…查看详情
- 发明专利怎么破除 发明专利破除方法
依据我国专利法的规定,发明专利终止的情形包括没有按照规定缴纳年费的、专利权人放弃专利权的,或者专利复审委员会宣告该专利权无效的等。下面万商云集小编就给大家来详细介绍一下发明专利如何破除这方面的内容,希望能帮助到大家。 一、发明专利如何破除…查看详情
- 你急需的企业网站建设文案写作攻略
一个具备足够用户吸引力的企业网站建设自然离不开一手漂亮的文案内容。好文案如美人,带给客户愉悦感,并直抓潜在客户心理需求,促进销售达成。下面我们就分享一些企业网站建设中,文案写作的心得吧! 从平凡中发现不平凡 首先,明确网站建设文案的直接目标…查看详情
- 有哪些CRM客户管理系统,国外也可以使用
市场上有很多CRM客户管理系统,这使得与国际客户更容易合作。公司可根据公司的发展情况,尝试不同的CRM系统,一次使企业迅速发展,当你的企业是一家小企业,但是顾客多,而且很难管理,或者想让客户管理更方便,那就可以采用灵活灵活的网上CRM客户管…查看详情
- erp系统操作方法介绍
听多了、看多了erp系统原理、如何选择erp系统、erp系统的优势,不如今天更详细地了解下一直都在反复提及的erp系统操作吧,下面由小万为你讲述。图片来源于网络erp系统操作主要分为六个方面:◤ 1. 基本系统操作它主要是指对整个erp系…查看详情
- 什么情况下属于小规模纳税人(新政策解读)
值税小规模纳税人适用3%征收率的应税销售收入,减按1%征收率征收增值税;适用3%预征率的预缴增值税项目,减按1%预征率预缴增值税。下面小编就给大家来详细介绍一下什么情况下属于小规模纳税人这一块的内容。 什么是小规模纳税人 小规模纳税…查看详情
- 电商平台需要哪些系统来支撑线上交易流程?
互联网技术在发展,消费者线上消费的行为也在不断进化,电商不仅仅局限于商品交易,现在需要满足更多的消费需求和市场营销。企业电商平台从采购、入库、上架,到前端销售,选购、下单、支付,再到收货、退款、评价。这一系列的交易流程都需要电商平台进行支撑…查看详情
- 网站设计如何为企业带来真正的价值?这几点十分重要
对于企业来说网站属于展示的门面,所以一定要做好相关的设计,只有各方面都做到完美,这样对于企业来说才可以真正的实现价值,产生流量的转化,甚至能够获得更多的目标客户,那么网站设计如何为企业带来真正的价值呢?这几点十分,重要大家不能忽…查看详情
- 软件专利权可以保持多少年 软件专利保护多少年
依据我国相关法律的规定,使用电脑或者智能手机等设备时,要有软件才能运行的,而软件是属于知识产权的一种,并且是非常重要的知识产权,那么软件专利权可以保持几年?下面由万商云集小编给大家带来软件专利权可以保持多少年 软件专利保护多少年这方…查看详情
- 个人网站可以不备案吗 个人网站需要备案不?
互联网中的网站数以万计,每天我们都在访问各类网站,个人和企业大多都会建立自己的网站,在此过程中,有站长觉得网站备案,对网站的排名、可信度都有帮助,也有站长觉得网站备案太麻烦了,还不容易通过,究竟要不要做网站备案?下面小编就给大家来详细介…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品
找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
在线咨询
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达
关注万商云集
和10万中小企共成长
TOP

企业首选的数字选用平台






