Rick Branson是Instagram基础架构软件工程师,他在接受DataStax联合创始人Matt Pfeil采访时表示:随着数据量的快速增长,Redis已不再是他们的最佳使用对象,他们正在大量使用Cassandra。
下面是Matt Pfeil对Rick Branson的采访,笔者摘取了与Cassandra有关的核心内容进行编译:Matt:Rick,听说你和伙伴们都在使用Cassandra,那能否跟我们分享你们的使用情况呢?Rick:当然可以,我们已使用7、8个月了。最初,我们使用它主要是来存储涉及安全和网站诚信等方面的审计信息。这样,我们就会涉及到拦截垃圾邮件、滥用用户等其他相关东西。最初,这些任务都是在Redis中进行,但随着数据量快速增长,仅把它保存在内存中已不是高效之举,这是典型的高写入、低读取。而面对这种问题情景,Cassandra则是最拿手的,它可以毫不费劲地解决这方面问题。我们一开始设置3个节点群,但随着用户量的增长,节点群也随之增长到了12个,这基本上就是我们后端主应用程序。最近,我们决定移植另外一个项目,显然,该项目要比先前的要困难很多。团队里的每个人都开始投入到Cassandra上,大家花时间阅读文档、学习如何更高效地运作Cassandra。我们使用Cassandra来调用“收件箱(inboxes)”或应用中的新闻推送。基本上,这都是与用户的所有活动相绑定的,如果有人喜欢你的照片,赞或者评论照片,那么你的Instagram好友会看到相应的信息。我们之所以决定把数据迁到Cassandra上,主要是因为之前在Redis上遇到了内存限制。Cassandra在可靠性和可用性上,都有着非常好的体验。我们只用了几天的功夫就成功地把项目迁移过来了。关于集群上的一些细节:12个节点群的EC2 hi1.4xlarge 实例;在该集群上存储1.2TB数据;在高峰期,以20000次/秒的速度写到特定的集群、15000次/秒的速度读取信息。从这次实践中我们也学到了很多,并且会把学到的运用到其它实现上。Matt:听起来真令人兴奋。刚刚你和我们分享了用户项目上一些非常有趣的事情,正如你提到的,从Redis迁移到Cassandra,是一个基于内存的发行。那这样做的背后动机是什么?Rick:如上面提到的后端主应用程序,我们先移开一个Redis主/从复制设置,但成本太高昂了。我们从内存中取出,遇到大实例,就放在硬盘上,当不经常读取的时候,它会运行的很好。而使用Cassandra可以削减近1/4的成本。不仅如此,它还可以很好地释放我们扔在集群上的数据,由于它更具扩展性,还会根据需要自动添加节点。尤其是当从一个unsharded设置转到sharded设置时,Cassandra可以很好地解决,而且在进行shard数据时,没有任何痛苦。在另一个我们称之为“inbox”的用例中,提要已被分片。它拥有32个节点群集,其中主节点16个、故障转移副本节点16个。我们注意到,我们耗尽了所有机器的内存,而CPU资源并没有完全占用。不难发现即使在内存耗尽时,Redis对CPU的使用仍然相当高效。在这些用例上,使用Cassandra操作集群不仅成本廉价,而且更易操作。持久性则是Redis并不高效的主要原因,关于这一点,在Cassandra Summit 2013峰会上我会继续介绍。关于CassandraApache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008开源了Cassandra。此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。
下面是Matt Pfeil对Rick Branson的采访,笔者摘取了与Cassandra有关的核心内容进行编译:Matt:Rick,听说你和伙伴们都在使用Cassandra,那能否跟我们分享你们的使用情况呢?Rick:当然可以,我们已使用7、8个月了。最初,我们使用它主要是来存储涉及安全和网站诚信等方面的审计信息。这样,我们就会涉及到拦截垃圾邮件、滥用用户等其他相关东西。最初,这些任务都是在Redis中进行,但随着数据量快速增长,仅把它保存在内存中已不是高效之举,这是典型的高写入、低读取。而面对这种问题情景,Cassandra则是最拿手的,它可以毫不费劲地解决这方面问题。我们一开始设置3个节点群,但随着用户量的增长,节点群也随之增长到了12个,这基本上就是我们后端主应用程序。最近,我们决定移植另外一个项目,显然,该项目要比先前的要困难很多。团队里的每个人都开始投入到Cassandra上,大家花时间阅读文档、学习如何更高效地运作Cassandra。我们使用Cassandra来调用“收件箱(inboxes)”或应用中的新闻推送。基本上,这都是与用户的所有活动相绑定的,如果有人喜欢你的照片,赞或者评论照片,那么你的Instagram好友会看到相应的信息。我们之所以决定把数据迁到Cassandra上,主要是因为之前在Redis上遇到了内存限制。Cassandra在可靠性和可用性上,都有着非常好的体验。我们只用了几天的功夫就成功地把项目迁移过来了。关于集群上的一些细节:12个节点群的EC2 hi1.4xlarge 实例;在该集群上存储1.2TB数据;在高峰期,以20000次/秒的速度写到特定的集群、15000次/秒的速度读取信息。从这次实践中我们也学到了很多,并且会把学到的运用到其它实现上。Matt:听起来真令人兴奋。刚刚你和我们分享了用户项目上一些非常有趣的事情,正如你提到的,从Redis迁移到Cassandra,是一个基于内存的发行。那这样做的背后动机是什么?Rick:如上面提到的后端主应用程序,我们先移开一个Redis主/从复制设置,但成本太高昂了。我们从内存中取出,遇到大实例,就放在硬盘上,当不经常读取的时候,它会运行的很好。而使用Cassandra可以削减近1/4的成本。不仅如此,它还可以很好地释放我们扔在集群上的数据,由于它更具扩展性,还会根据需要自动添加节点。尤其是当从一个unsharded设置转到sharded设置时,Cassandra可以很好地解决,而且在进行shard数据时,没有任何痛苦。在另一个我们称之为“inbox”的用例中,提要已被分片。它拥有32个节点群集,其中主节点16个、故障转移副本节点16个。我们注意到,我们耗尽了所有机器的内存,而CPU资源并没有完全占用。不难发现即使在内存耗尽时,Redis对CPU的使用仍然相当高效。在这些用例上,使用Cassandra操作集群不仅成本廉价,而且更易操作。持久性则是Redis并不高效的主要原因,关于这一点,在Cassandra Summit 2013峰会上我会继续介绍。关于CassandraApache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008开源了Cassandra。此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。
相关推荐
App for Instagram:trade_mark:是从台式机(PC,MAC或Linux)打开并检查Instagram页面的最简单方法。 单击工具栏按钮,在独立的UI中呈现Instagram。 Instagram:trade_mark:应用程序在一个简单的独立弹出窗口中打开...
下载Instagram:trade_mark:的故事,视频和图片 如何下载Instagram:trade_mark:的故事,图片和视频? 由于有了这个扩展,它比以往任何时候都更容易。 只需单击下载按钮,即可将您喜欢的Instagram:trade_mark:图像保存...
拍照分享应用Instagram:6个员工与1200万用户.docx
Instagram直接消息允许您从台式机发送Instagram直接消息。 InstaDirect可让您从台式机发送Instagram直接消息。 InstaDirect可让您从台式机向您的关注者和朋友发送消息。 它为您提供有关Instagram:trade_mark:中新...
从Instagram获取有关新活动的通知。 直接从浏览器检查Instagram通知的最简单,最快的方法。 您可以使用扩展程序弹出窗口上的快速按钮访问Instagram:在弹出窗口中打开,通知,后续活动。 Instagram:trade_mark:是...
用于Instagram:trade_mark:的图像下载器是一个Lite插件,可让您轻松地从instagram网站下载所需的图像。 只需将插件添加到您的浏览器并打开instagram页面即可。 加载项激活后(工具栏图标为深灰色),您将在任何图像...
一键保存来自Instagram:trade_mark:和TikTok:trade_mark:的视频和图像! 一键保存并下载来自Instagram:trade_mark:和TikTok:trade_mark:的视频和图像! 即时就是一种扩展,可以帮助您保存和存储流行社交网络中内容的...
InstagramAdvanced Downloader是此工作最可靠的扩展,主要用于帮助您一键式将图像和视频以及故事和IGTV视频从Instagram下载到您的计算机。 特点:1-易于使用。 2-安全轻巧。 3-以高清质量保存图像和视频。 4-支持...
(Facebook, Google, Twitter, Instagram) Installation In your app level build.gradle : dependencies { compile 'com.jaychang:simpleauth:2.1.4' // if you want to use facebook auth compile '...
节点Instagram :warning_selector: 旧版Instagram API已弃用,并将于2020年6月29日禁用。 更多信息 。 您应该使用新的Instagram Graph API。 支持承诺和打字稿的节点的Instagram API客户端。 您可以在目录中...
6.从队列中删除您不想取消关注的特定人员,即使他们不关注您。 7.保存和加载队列以便以后处理。 8.基本和高级设置,允许您配置超时,超时随机化,甚至队列哈希和应用程序ID,以防Instagram:trade_mark:更改其API。 ...
从Instagram:trade_mark:,Tiktok:trade_mark:,Vimeo:trade_mark:轻松下载照片和视频 此扩展程序允许从Instagram:trade_mark:,Tiktok:trade_mark:和Vimeo:trade_mark:下载照片/视频。 它会在每张照片/视频上添加/...
instagram克隆是:
保存来自Instagram的图片和视频。 (早些时候,Instagram的下载)谷歌浏览器最好的Instagram扩展。点击工具栏上的按钮从Instagram.com下载图片和视频。 访问更多主页:...
django-instagram 一个Django应用程序,允许使用一些模板标签来显示Instagram公共档案中的内容。 要求 安装 使用您最喜欢Linux打包系统安装Django,或者如果Django不是您发行版的官方软件包,则可以使用pip来安装...
instagram:带有测试的基本instagram项目
Recriando-Instagram:Projeto Recriando Instagram训练营Everis
page_instagram:克隆信息图表
必需:使用SwipeRefreshLayout为家庭供稿添加“从上到下刷新”。 必需:用户可以脱机打开Instagram客户端,并查看上次加载的提要。 必需创建后台服务以发出网络请求,将项目加载到DB中并填充视图(用于用户的家庭...
recreate-instagram:第一个项目