2014-04-10 54 views
1

我有一个PHP系统,它做社交媒体平台所做的一切事情,即添加评论,上传图片,添加对象,登录,会话等存储MySQL数据库中的所有交互。所以我有一个很好的基础设施来建立。采用我目前的系统,包括实时通知

我的项目的下一个阶段是开发系统,以便通知发送到“联系人”的“网络”,这些“联系人”与其中一个相关联。比如像Facebook这样的通知系统。即克里斯刚刚评论的对象N.

我正在寻找实施这个系统的很多用户:10,000+,所以它必须是可靠的。我研究了Facebook的整合,导致诸如memcache,sockets &哈希等技术。

它们是否可以轻松适应此功能的任何系统,就像我可以使用快速,可靠的实现一样。

P.s一想到我只是每5秒查询一次数据库, “使用jQuery,Ajax & PHP选择在过去5秒内发生的所有事情”,但这很愚蠢,它会耗尽服务器&数据库的权利?

我看到了这个website &这个article,任何人都可以反思这个告诉我什么是最好的方法,因为我在犹豫什么路径遵循。

谢谢

+0

套接字或长轮询值得关注。 – Pitchinnate

回答

1

这是不可能的只是纯粹的香草PHP/MySQL。你可以做的是在你的数据上设置MySQL触发器(http://dev.mysql.com/doc/refman/5.0/en/triggers.html),然后使用UDF函数sys_exec(你将需要在你的MySQL服务器上安装)运行通知php脚本。看到这篇文章:Invoking a PHP script from a MySQL trigger

如果你能得到这个设置它应该是相当可靠和快速。

+0

编辑:我链接到的帖子上的链接似乎被打破。试试这个:https://github.com/mysqludf/lib_mysqludf_sys#readme – DankMemes

+0

这对大量的用户来说可以吗?如果这是如此可靠/快速为什么Facebook没有使用它?只是想通过我的脑袋。无论如何,感谢您的答案,我会去执行 – cwiggo

+0

可能会有开始数百个通知进程的开销,因为fb拥有数百万用户。你只有10K,所以你很好用这个。 – DankMemes