我们的小组负责设计和实施大型用户到用户内部消息系统(类似于facebook消息)。该系统预计将处理至少十亿条消息。
系统将使用php和mysql或nosql数据库构建,我们对任何有用的技术都是开放的。
像这样的内部消息传递系统可能很常见,过去可能已被不同公司建造了数百次,我们不想重新发明轮子。
过去使用过的这类任务是否有任何标准设计模式并且保持良好状态?
书籍或指南或只是一般建议会非常有用。
(如果您知道任何推荐的有助于设计此系统的开源(或闭源)软件,那么也将不胜感激!)
答案 0 :(得分:2)
这可能更适合于programmers.stackexchange.com,但至少有一部分问题可以在这里得到解答。
是否有任何标准设计模式?是。
如果消息可能变为现场(例如聊天),那么XMPP是一个很好的选择。 Wikipedia sums up its strengths well and does mention a weakness.这也很好,因为您的用户不需要使用您的客户端进行通话,任何XMPP客户端都可以。这是一个有利于它的重点(在我看来)。
由于这是标记的PHP,这里有两个我知道的PHP的XMPP实现:
Lightr http://code.google.com/p/lightr/
Lightr是一个用面向对象的PHP5编写的XMPP和BOSH客户端。它旨在由启用AJAX的前端间隔运行,并利用CURL库来处理与BOSH服务器的连接。
XMPPHP http://code.google.com/p/xmpphp/
XMPPHP是我多年来一直承诺的Class.Jabber.PHP的继承者。利用PHP5,我相信它是一种直接方法的优雅解决方案。其中一些功能包括: - 连接到任何XMPP 1.0服务器(Google Talk,LJ Talk,jabber.org等) - 支持TLS加密 - 多种XML处理方法和支持的样式(无限期处理,processUntil事件,processTime几秒钟),等待事件或映射它们等等。
我没有使用过他们中的任何一个。其他人也许可以回答你问题的第二部分。