1.Twitter的简介
Twitter是非常著名的微博客网站,成立于2006年,至今用户数已经超过1000w,在奥巴马总统上台后,用户量急剧增长,随着用户数量的增加,Twitter的架构也发生了很大的变化,它的这些变化能够适应大用户量的访问,是值得大家学习的一种架构。
2.Twitter的业务介绍
1)业务
Twitter的业务比较简单,用户可以写短信(字长不允许超过140个),如果另外一个用户是该用户的follower,则用户的更新,他的follower可以实时地看到它的更新。
2)数据库表的设计
-
User表
用户ID 姓名 登录名 密码 状态(是否在线)
-
SMS表
短信ID UserID 短信正文 时间戳
-
RelationShip表
UserID followingUserIDs followerUserIDs
用户关系表,存储了用户之间的关系:following和follower,following表示该用户跟踪了哪个用户,follower表示该用户被那些用户跟踪了。当用户有新的短信时,所有在线的follower可以实时(相对实时)收到它的更新。
3.Twitter的技术架构
笔者总结了一下Twitter架构的亮点:
1.在Web前端采用了Comet实现HTTP的长连接,由server直接push message到web 页面
2.在中间层大量采用了Cache-Page Cache,Fragment Cache,Vector Cache和Row Cache大大降低了server的负载。
3.实现了自己的Message Queue,Kestrel MQ是基于Memcached协议的由Scala语言开发的server
- 大小: 22.9 KB
分享到:
相关推荐
系统架构学习 参考文献 Twitter系统架构设计分析
1. 网络架构设计:Twitter 的网络架构设计是基于自主设计和开源社区的网络技术,高效地提升集群性能,发布尽可能强的产品。 Twitter 的网络架构设计可以分为三个阶段:第一个阶段是将集群从第三方主机上迁出,第二个...
为了支持这一核心业务逻辑,Twitter在初创阶段采用了以下几种数据结构和技术方案: - **Be-followed 表**:记录每位用户的所有关注者的ID。 - **Following 表**:记录每位用户关注的其他用户的ID。 **用户操作流程...
在描述中提到的"twitter4j-2.0.10.zip"是Twitter4J的一个版本,包含了该库的不同组件,如JAR文件(包含编译后的代码)、源码文件(用于查看和学习实现)以及构建和配置文件。 在压缩包的文件名称列表中,我们看到了...
通过不断学习和实践,你将能够熟练地应对这些问题,为用户提供流畅的Twitter分享体验。 最后,如果你在开发过程中遇到了具体的问题,可以参考Twitter的开发者文档,或者在社区中寻求帮助。持续更新和优化你的代码,...
- **定义**:Twitter是一种允许用户在其社区内部发送和接收短消息(称为tweets)的信息服务。 - **社区组成**: - **Following**:指用户关注的好友列表。用户通过关注其他用户来构建自己的Twitter社区,并能查看被...
Twitter API 是Twitter公司提供的一种服务,允许开发者通过编程方式访问和操作Twitter平台的功能,如发布推文、获取用户信息、搜索推文等。本篇文章将围绕"Twitter API使用例子"这一主题,结合Java编程语言,深入...
解剖Twitter的系统架构,揭示Twitter使用的共享软件;了解Twitter如何处理多并发、冲突事件的处理方法;
twitter分享demo,步骤详解:http://blog.csdn.net/sjx19871225/article/details/8777951
1. **Twitter简介**:Twitter是一个全球性的社交媒体平台,用户可以发布150字符以内的短消息,称为“推文”。它提供了一个实时交流和信息分享的平台。 2. **Twitter账户创建**:如何创建个人或企业Twitter账户,...
4. **流式API(Streaming)**:Twitter的流式API提供了一个实时数据流,允许开发者持续接收推文、用户活动或其他事件。这对于实时分析和监控非常有用。 5. **地理位置(Geolocation)**:使用`geocode`参数,开发者可以...
在IT行业中,社交媒体平台的互动和分享功能是开发者必须掌握的关键技能之一,特别是在移动应用...提供的压缩包"TwitterShare"可能包含了实现这一功能的源代码示例,你可以参考学习并根据自己的项目需求进行调整和优化。
【标题】"Python-通过机器学习来检测Twitter机器人的R包"揭示了使用Python和机器学习技术来识别Twitter上机器人账号的主题。在这个项目中,开发者可能利用Python的强大功能,结合R包,对Twitter数据进行分析,以区分...
通过探索和学习Talon for Twitter Android的源代码,开发者不仅可以提升Android应用开发技能,还能了解到如何将流行的设计理念和最佳实践应用于实际项目中。同时,参与开源项目也是提高自身影响力,建立个人品牌,...
- **定义**:Twitter是一种社交网络服务,允许用户向自己的社区发送和接收简短的消息(称为“推文”)。 - **社区构成**:Twitter社区主要由以下几个部分组成: - **关注者**:关注你的账户的人。 - **被关注者**...
这段代码首先创建了一个`Twitter::REST::Client`实例,然后获取当前用户的关注者ID列表。由于Twitter API对每批请求的数量有限制,我们使用`each_slice(100)`分批处理取消关注的请求。最后,我们调用`unfollow`方法...
This groundbreaking book provides you with the skills and resources you need to build web applications for Twitter. Perfect for new and casual programmers intrigued by the microblogging, Twitter API: ...
本资源包聚焦于"twitter php",包含开源代码和学习资料,旨在帮助开发者深入理解和运用Twitter API。 首先,我们需要了解Twitter API的基础知识。Twitter API是一个允许开发者通过HTTP请求获取和发送Twitter数据的...