- 浏览: 564328 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
原文地址:http://blog.csdn.net/zhangzhaokun/article/details/7834797
完全用nosql轻松打造千万级数据量的微博系统
微博feed系统的push和pull模式和时间分区拉模式架构探讨
关于如何构建一个微博型广播
关于如何构建一个微博型广播2
用 mongodb 储存多态消息/提醒类数据
构建高性能的微博系统-再谈新浪微博架构
人人网技术经理张铁安-Feed系统结构浅析
新浪微博Cache设计@TimYang.pdf
人人网技术经理张铁安-Feed系统结构浅析
新浪微博基于MySQL的分布式数据库实践
杨卫华谈新浪微博架构:MySQL和NoSQL
Sina微博构架师-杨卫华:构建可扩展的微博系统
张松国-腾讯微博架构介绍08
杨卫华序列
百万用户时尚分享网站feed系统扩展实践
最后这篇文章写得很不错的,也基本讲清楚了Feed系统的方方面面的考虑了,基本涉及到了一个Feed系统从小发展到大的全过程了!还没有完全领会到它为用Cassandra替换Redis的理由,或者他还是考虑把Casandra的作为半缓存的结构来替换的,加大Cassandr的内存,可以缓存大量的热数据,当然它的好处是冷热数据都可以完美的持久化,但是数据的一致性处理起来有些麻烦,毫无疑问他会是采用R+W>N的模式,但是无论写多份还是读多份都是有些难于取舍的,Feed系统的写入量本来就很大,如果写入多份的话会大大降低写入的性能,另外,存在Feed的系统,无一例外的是Feed都会是全系统的核心,提高读的性能会大大提高用户的体验,如果读取的时候读多份数据会相对降低性能,到底取舍哪一个呢?我这里光是凭空想象,无法取舍,具体还可以看性能测试来说法,如果有同学做过这方面的压测,还望留言告知下!
腾讯微博主要使用拉模型,只有未读的微博数是使用推得模式实现的!拉模型的问题在于一个人跟随了几百或者上千的人的时候,去看关注的人所发的消息要进行多个层次的Map/Reduce才能得到结果,需要非常高效的获取最新Feed的方式以及快速的聚合算法,只用Memcache\Redis之类的从性能上是比较难于实现的,需要从数据层面或者是缓存的层面都进行聚合,再在应用层面进行聚合,技术难度比较大!这个模式属于知易行难,绝大多数公司不具备构建基础设施的能力!
新浪微博使用推拉结合的方式,大号不推送,小号则推送,看Feeds的时候,需要将推过来的Feeds索引数据与关注的大号的Feed进行聚合,小小的牺牲下拉的性能一下子就将大号的推送问题解决掉了!
对于稍微小些的网站,比如Pinterest和花瓣都使用推的方式来实现,PInterest的直接在Redis中保存500个最新的索引信息,使用Python脚本定时来扫描,保证缓存的索引信息始终只保存最新的500个,老的信息则直接丢弃掉,花瓣则将老索引存储到LevelDBA中去了!
Pinterest网站的内容信息缓存在memcache中,关系信息则缓存到Redis中,持久化方式保存!对于那种大号的粉丝,亦或是关注的人数太多则需要将关系数据拆分之后再缓存起来,对于动态变化的部分则需要独立存放,在使用的时候需要将两部分数据聚合,在可变部分达到一定长度的时候,需要与不变的部分进行合并!
当然推送的时候,所有的网站都使用异步的方式来实现!
完全用nosql轻松打造千万级数据量的微博系统
微博feed系统的push和pull模式和时间分区拉模式架构探讨
关于如何构建一个微博型广播
关于如何构建一个微博型广播2
用 mongodb 储存多态消息/提醒类数据
构建高性能的微博系统-再谈新浪微博架构
人人网技术经理张铁安-Feed系统结构浅析
新浪微博Cache设计@TimYang.pdf
人人网技术经理张铁安-Feed系统结构浅析
新浪微博基于MySQL的分布式数据库实践
杨卫华谈新浪微博架构:MySQL和NoSQL
Sina微博构架师-杨卫华:构建可扩展的微博系统
张松国-腾讯微博架构介绍08
杨卫华序列
百万用户时尚分享网站feed系统扩展实践
最后这篇文章写得很不错的,也基本讲清楚了Feed系统的方方面面的考虑了,基本涉及到了一个Feed系统从小发展到大的全过程了!还没有完全领会到它为用Cassandra替换Redis的理由,或者他还是考虑把Casandra的作为半缓存的结构来替换的,加大Cassandr的内存,可以缓存大量的热数据,当然它的好处是冷热数据都可以完美的持久化,但是数据的一致性处理起来有些麻烦,毫无疑问他会是采用R+W>N的模式,但是无论写多份还是读多份都是有些难于取舍的,Feed系统的写入量本来就很大,如果写入多份的话会大大降低写入的性能,另外,存在Feed的系统,无一例外的是Feed都会是全系统的核心,提高读的性能会大大提高用户的体验,如果读取的时候读多份数据会相对降低性能,到底取舍哪一个呢?我这里光是凭空想象,无法取舍,具体还可以看性能测试来说法,如果有同学做过这方面的压测,还望留言告知下!
腾讯微博主要使用拉模型,只有未读的微博数是使用推得模式实现的!拉模型的问题在于一个人跟随了几百或者上千的人的时候,去看关注的人所发的消息要进行多个层次的Map/Reduce才能得到结果,需要非常高效的获取最新Feed的方式以及快速的聚合算法,只用Memcache\Redis之类的从性能上是比较难于实现的,需要从数据层面或者是缓存的层面都进行聚合,再在应用层面进行聚合,技术难度比较大!这个模式属于知易行难,绝大多数公司不具备构建基础设施的能力!
新浪微博使用推拉结合的方式,大号不推送,小号则推送,看Feeds的时候,需要将推过来的Feeds索引数据与关注的大号的Feed进行聚合,小小的牺牲下拉的性能一下子就将大号的推送问题解决掉了!
对于稍微小些的网站,比如Pinterest和花瓣都使用推的方式来实现,PInterest的直接在Redis中保存500个最新的索引信息,使用Python脚本定时来扫描,保证缓存的索引信息始终只保存最新的500个,老的信息则直接丢弃掉,花瓣则将老索引存储到LevelDBA中去了!
Pinterest网站的内容信息缓存在memcache中,关系信息则缓存到Redis中,持久化方式保存!对于那种大号的粉丝,亦或是关注的人数太多则需要将关系数据拆分之后再缓存起来,对于动态变化的部分则需要独立存放,在使用的时候需要将两部分数据聚合,在可变部分达到一定长度的时候,需要与不变的部分进行合并!
当然推送的时候,所有的网站都使用异步的方式来实现!
发表评论
-
HTTP协议之multipart/form-data请求分析
2015-11-09 17:41 769原文地址:http://blog.csdn ... -
Servlet中的过滤器(拦截器)Filter与监听器Listener的作用和区别
2015-10-30 18:01 1053原文地址:http://blog.csdn.net/mmllk ... -
过滤器和拦截器的区别
2015-10-30 18:00 659原文地址:http://blog.163.com/hzd_lo ... -
过滤器、监听器、拦截器的区别
2015-10-30 17:59 596原文地址:http://blog.csdn.net/x_yp/ ... -
【JSP】让HTML和JSP页面不缓存的方法
2015-10-14 10:16 487原文地址:http://blog.csdn.net/juebl ... -
jsp去掉浏览器缓存
2015-10-14 09:21 628原文地址:http://bbs.csdn.net/topics ... -
pageContext对象的用法
2015-09-04 21:24 708原文地址:http://blog.csdn.net/warcr ... -
log4j日志文件乱码问题的解决方法
2015-01-06 18:11 826原文地址:http://blog.csdn.net/inkfi ... -
JEECMS 系统权限设计
2014-09-05 16:25 944原文地址:http://chinajweb.iteye.com ... -
使用servlet保存用户上传的文件到本地
2014-08-12 14:46 632原文地址:http://blog.csdn.net/shuwe ... -
Servlet 实现文件的上传与下载
2014-08-12 14:44 888原文地址:http://www.2cto.com/kf/201 ... -
android文件上传到服务器
2014-08-12 11:03 395代码非原创,fix了bug,完善的还是需要再思量: /** * ... -
常用社交网络(SNS、人人网、新浪微博)动态新闻(feed、新鲜事、好友动态)系统浅析
2014-08-05 15:09 936原文地址:http://blog.csdn.net/sunme ... -
微博feed系统推拉模式和时间分区拉模式架构探讨
2014-08-05 14:47 415原文地址:http://www.csdn.net/articl ... -
spring 出错,Could not find acceptable representation
2014-08-03 14:41 1530原文地址:http://www.myexception.cn/ ... -
spring @ResponseBody 返回json格式有关问题
2014-08-03 14:20 637原文地址:http://www.myexception.cn/ ... -
httpclient上传文件及传参数
2014-07-27 14:02 1197原文地址:http://hyacinth.blog.sohu. ... -
在eclipse中把java工程变为web工程
2014-06-27 11:18 709项目上点鼠标右键->properties->Pro ... -
配置Tomcat直接显示目录结构和文件列表
2014-06-10 13:52 733配置Tomcat直接显示目录结构和文件列表 TomcatSe ... -
压力测试工具apache-ab讲解
2012-10-16 09:59 727最近在做webservices,得到的数据是从德国那边的服务器 ...
相关推荐
杨卫华先生在这个主题中可能深入探讨了如何构建高效、灵活且适应性强的大数据Feed系统架构。下面将对Feed系统架构的关键知识点进行详细阐述。 一、大数据处理框架 1. Hadoop:Hadoop是大数据处理的基石,提供了...
新浪微博开放平台中的Redis实践_大数据时代feed架构_微博消息系统架构演进_互联网公司技术架构资料.新浪微博.微博架构与平台安全_构建高性能的微博系统——再谈新浪微博架构 演讲视频,PPT,一些收集的博客地址等
4. **系统架构**:文档可能会阐述一个完整的Feed信息反馈处理系统应包含哪些组件,如数据采集模块、数据处理模块、存储模块、报警模块以及用户界面等,以及各模块间如何协同工作。 5. **性能优化**:由于电信设备...
【RssFeed新闻阅读器】是一款小巧而复杂的系统,专门设计用于提供新闻阅读服务。它通过解析RSS(Really Simple Syndication)源,帮助用户轻松获取并跟踪来自不同新闻站点的最新内容。RSS是一种XML格式,使得发布者...
在这个阶段中,我们需要根据系统能力分析的结果,制定合适的扩容方案,包括增加服务器数量、升级服务器配置、优化系统架构等。同时,我们还需要对扩容计划进行跟踪和评估,确保扩容方案的有效性。 Feed 系统是一个...
#### 数据仓库系统架构 Facebook的数据仓库系统主要包括以下几个部分: - **Hive on top of Hadoop**:提供了一种高效的查询方式,可以处理大量的数据。 - **MySQL**:用于存储用户的个人信息和其他轻量级数据。 -...
1. **MVC(模型-视图-控制器)架构**:Laravel 遵循 MVC 设计模式,将业务逻辑(模型)、数据呈现(视图)和用户交互(控制器)分离,使代码结构清晰易懂。 2. **Artisan 命令行工具**:Artisan 是 Laravel 自带的...
通过这个示例,开发者不仅可以学习到如何在Magento 2中创建自定义数据导出功能,还能深入理解Magento 2的模块化架构和PHP在电商系统中的应用。这个扩展可以作为进一步开发更复杂Feed功能的基础,比如支持动态过滤、...
该系统设计用于电气化铁路领域的高速数据收集和处理,特别是针对接触线(electric locomotive power feed line)的交错值(stagger-value)进行精确测量。 1. **系统概述** 高速数据采集系统利用高速线性CCD传感器...
同时,这可能意味着该系统具备一定的自定义能力,可以针对不同的新闻源进行配置,以适应各种RSS feed。 【标签】"Jsp源码-CMS文章"表明该系统可能使用Java Server Pages(JSP)技术开发,这是一种服务器端的脚本...
【学校网站系统】是一款专为教育机构设计的ASP(Active Server Pages)开发的综合性网站解决方案。这个系统适用于职业学校和中小学,旨在提供一个全面、易用的平台来满足学校的招生、信息发布、用户互动等需求。 1....
知乎的架构变迁体现了互联网公司如何根据业务发展和用户需求不断优化技术栈,从最初的简洁设计到复杂系统架构的演变,充分展现了技术与业务之间的紧密关系。在这一过程中,知乎始终注重工具的选择和自研,以提升效率...
【美加Rss新闻聚合系统PHP版】是一个基于PHP编程语言开发的系统,主要用于收集、整理和展示来自多个来源的RSS新闻源。RSS(Really Simple Syndication)是一种内容发布格式,允许用户订阅并获取网站更新,无需直接...
在推荐系统实际操作中,模型训练面临样本组织、线上实时数据收集、正负样本采样策略等问题。特征工程也是关键环节,包括对分布广泛特征的归一化和boxing处理,以减少噪声并提高模型的泛化能力。 总的来说,知乎的...
1. **数据收集与预处理**:从各种来源获取数据,如用户行为、用户资料、内容元数据等,并进行清洗和格式化。 2. **特征工程**:提取对推荐或排序有用的特征,如用户历史点击、停留时间、内容类别等。 3. **推荐...
通过对`feed-api-master`项目结构的分析,我们可以逐步理解并重构整个Feed API系统,使其更好地满足业务需求和性能要求。在实际开发中,还需要关注代码的可读性、可维护性和扩展性,以适应不断变化的业务场景。
**Scribe**: 日志收集系统,能够处理高吞吐量的日志记录需求。 **ODS(Online Data Store)**: 在线数据存储系统,用于实时数据处理和分析。 **Tools**: 包括日志、统计收集、监控等功能,确保系统的稳定运行。 #...
WebRSS聚合器是一种在线工具,它能够自动收集并整合来自多个源的RSS(Really Simple Syndication) feed,为用户提供一个集中阅读和管理这些新闻、博客文章或其他内容的平台。在这个"WebRSS聚合器程序示例_新闻文章...