Architecture 实时活动流体系结构

Architecture 实时活动流体系结构,architecture,stream,social-networking,Architecture,Stream,Social Networking,我之前已经发布了一个类似的问题,但我想知道什么是使活动提要实时工作的底层技术?我正在设计100%数据库驱动的MySQL,但遇到的问题是有200多个活动需要流出来,有不同类型的流+需要支持至少500000个并发用户开始。有基于地理的流、网络流、朋友流、业务流等。所有流数据都是基于我网站上的活动自行托管的。我的平台是Linux,MySQL,PHP 面临的问题: 1) 不确定用什么方法来解决这个问题。我应该用AJAX、PHP和MySQL来实现,还是通过RSS/XML来实现,还是需要使用旧的方式来读取文

我之前已经发布了一个类似的问题,但我想知道什么是使活动提要实时工作的底层技术?我正在设计100%数据库驱动的MySQL,但遇到的问题是有200多个活动需要流出来,有不同类型的流+需要支持至少500000个并发用户开始。有基于地理的流、网络流、朋友流、业务流等。所有流数据都是基于我网站上的活动自行托管的。我的平台是Linux,MySQL,PHP

面临的问题: 1) 不确定用什么方法来解决这个问题。我应该用AJAX、PHP和MySQL来实现,还是通过RSS/XML来实现,还是需要使用旧的方式来读取文本文件? 2) 流如何在实时存储活动中进行更新—在cookie或会话中的客户端存储活动、服务器到客户端推送、客户端到服务器拉取等? 3) 如果我需要支持500000个并发用户,我是否需要一个专门的服务器来实现这一点? 4) 如果我需要为此使用专门的框架,有没有开源框架


任何指向示例体系结构/实施策略或资源的链接都会很有帮助。

我不知道“活动流”的具体含义;我以前从未做过类似的事情,但我想:

  • 为50K用户提供服务可能意味着要有多台服务器——因此,您不能使用或执行任何引入服务器关联性的操作(使用会话变量等)
  • 您希望在所有方面都尽可能高效—尽可能减少数据交换(在大小和频率上)
  • 避免不必要的解析(例如:XML)或昂贵的操作;处理大字符串等
  • 仔细记录,经常进行性能测试。您可能需要从一些概念证明开始
  • 使用内存:读写磁盘的成本很高,所以将数据分流到内存并在内存中进行处理;例如,在应用程序启动时,您可以将整个数据库(也就是为请求提供服务所需的所有表/数据)分流到内存中,这样就不需要为每个请求建立数据库连接。这并不会阻止您对数据库进行异步写回(服务器死机,内存中的数据丢失,这会让人觉得很糟糕)
  • 研究成熟的缓存技术
  • 在你能做到的地方,你需要的是最少的酒瓶按摩

我知道我们的活动流基本上都是基于文本的消息?您期望每个用户的平均和最大更新频率是多少?每个服务器(或服务器群集)的平均和最大更新频率是多少?