+1000 Jaber. Аргументы следующие:
1. Свой сервер (не зависите от внешних серверов) своя политика безопасности, настройки и тд…
2. Шифрование. Любое, вплоть до маниакальнонаправленного!
3. Клиенты подо все! Включая любые недокомпьютеры и сматфоны.
4. Возможность говорить и голосом, а при прямых руках и видео…
ну так и правильно. Если ты его заносишь в игнор, он у тебя удаляется из репозитория. И ты можешь держать вместо этого файла два разных файла на разных машинах. Просто вставить их туда и все.
> Подскажите, правильным ли будет вышеописанный подход в принципе?
Я бы иначе реализовал. Redis pubsub для очереди + Node.js (вам, вероятно, ближе phpDaemon) + база данных, если нужно вести лог. supervisord для слежки за службой.
Демон?
Простой while(true) {проверяем, есть ли в очереди сообщения, если есть — exec'аем скрипт рассылки; sleep(10)}
Не забыть только отвязать stdin и stdout, иначе exec будет ждать окончание скрипта.
Ну и в крон можно воткнуть проверку на то, запущен ли демон и запускать его, если нет.
It depends. Имхо, самый большой недостаток эйра — макс. 4 гб памяти, что сейчас уже маловато (у меня один сёрфинг/тестинг браузерами отъедает под 3 гига).
Более того, народ пишет, что с ssd может и не повезти — в некоторые модели ставят весьма посредственные тошибы.
Я бы взял прошку, там и свой ssd поставить можно (который можно поменять в будущем), и 8 гб памяти воткнуть.
Хранить в разных коллекциях. Особенно, если форум подразумевает такие страницы как «все сообщения пользователя» или «все темы пользователя». Да, структура похожа на реляционную БД, но в этом нет ничего плохого. Основные преимущества данной СУБД (возможность создавать произвольные дополнительные свойства, особено свойства-массивы, и строить по ним индексы, включая частичные) при этом не теряются.
Если второй вызов функции mysql_connect() произошёл с теми же аргументами, то новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение.