Хорошие шаблоны проектирования или программное обеспечение с открытым исходным кодом для крупномасштабной системы электронной почты / обмена сообщениями пользователей? - PullRequest
3 голосов
/ 13 февраля 2012

Нашей группе поручено разработать и внедрить большую внутреннюю систему обмена сообщениями между пользователями (аналогично сообщениям в Facebook).Ожидается, что система будет обрабатывать не менее миллиарда сообщений.

Система будет построена с использованием php и базы данных mysql или nosql, и мы открыты для любых технологий, которые будут полезны.

Подобная система внутренних сообщений, вероятно, очень распространена,и, возможно, в прошлом сотни раз создавались различными компаниями, и мы не хотим изобретать велосипед.

Существуют ли какие-либо стандартные шаблоны проектирования для такой задачи, которые использовались впрошлое и хорошо держится?

Книги или руководства или просто общие советы были бы очень полезны.

(Если вам известно о каком-либо программном обеспечении с открытым исходным кодом (или с закрытым исходным кодом), которое рекомендуется для разработки этой системы, это также приветствуется!)

1 Ответ

2 голосов
/ 13 февраля 2012

Это может быть лучше подходит для programmers.stackexchange.com, но здесь есть хотя бы часть вашего вопроса, на которую можно ответить.

Существуют ли какие-либо стандартные шаблоны проектирования? Да.

Если сообщения могут стать живыми (например, чаты), тогда XMPP - отличный выбор. Википедия хорошо суммирует свои сильные стороны и упоминает слабость. Это также хорошо, потому что ваши пользователи не ДОЛЖНЫ использовать ваш клиент для общения, подойдет любой клиент XMPP.Это большой момент в его пользу (на мой взгляд).

Так как это тегированный PHP, вот две реализации XMPP в PHP, о которых я знаю:

Lightr http://code.google.com/p/lightr/

Lightr isклиент XMPP и BOSH, написанный на объектно-ориентированном PHP5.Он предназначен для запуска по интервалу с помощью 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обработка подходов и поддерживаемых стилей (обработка на неопределенный срок, обработка до события, processTime в течение нескольких секунд), ожидание событий или сопоставление их и т. д.

Я не использовал ни один из них. Кто-то можетбыть в состоянии ответить на вторую часть вашего вопроса.

...