Вы предлагаете, я смотрю в документацию, сравниваю примеры, логически делаю вывод, и ставлю Вам плюс. Я рассматривал около 3-х схем хранения данных в данном случае. Проведя тесты с 1 500 000 темами, я "выдирал" связями комменты, например через "тему", как в примере за 0.9s что очень много для продакшн, но составные индексы сделали свое дело. Но я сделаю все таки через двойной POST таблицу, и вот по чему... Дело в том, что при выборе темы именно в данном проекте, нужны только заголовки постов. Поэтому учитываю их количество, а так же обязательное состояние иметь текст до огромных размеров, я вынесу текст в отдельную таблицу. Так как текст поста нужен именно при обращении к нему. В итоге все один ко многим, единственное еще я сделаю комментарии "Через полиморфные" то есть - Through Polymorphic как то так, потому что планирую ту же структуру комментов в других разделах.
Что значит правильно составленные индексы? На сколько я читал документацию, они или просто создаются на поле или не создаются. Получается создать индексы на связующие поля? И я с вами согласен на счет промежуточных таблиц, много думал и не нашел причину, по которой бы они давали плюс в данной схеме... А поле count comment часто может меняться, поэтому думаю без тригера, а просто получать число пересчетом при добавлении или удалении.
Мне кто то советовал, но в данном случае документо-важным тут только текст постов. Я если правильно понимаю, документные бд для хранения текста больших объемов. Где нет такой логики связей и условий при чтении как в MySQL-подобных.
Ну докер тут не причем) Это все го лишь способ развертывания среды. А если OS линукс, то supervisor зачем? Если есть родной Systemd для таких целей. Я раньше сам использовал supervisor, пока не изучил м малой степени предназначение и смысл Systemd Эта статья меня и натолкнула https://habrahabr.ru/post/268583/
Дмитрий Евграфович: Скажите пожалуйста, последнее осталось и не могу найти ответа. Как вы запускали и чем Центрифугу? Я пробую установить в автостарт но не получается - Как добавить команду в Systemd?
Документацию я читаю, иначе бы вообще не понимал, так как работаю с этим впервые приходиться не просто. Получается если я использую пакет php-centrifugo в Laravel, то функцией generateClientToken Мне можно передать во вьюху переменные HMAC TOKEN и timestamp для JS var centrifuge ?
Спасибо, автор помог, убил все процессы, настроил nginx все заработало. Скажите пожалуйста, одно не ясно, SHA-256 HMAC TOKEN Генерируется от чего? Он каждый раз при обновлении страницы должен меняться? На стороне клиента его нужно указывать, https://github.com/centrifugal/documentation/blob/... Но не понятно, из чего он должен быть сгенерирован?
slo_nik: Спам для яндекса? Или что? Так как подразумевается не спам, и есть возможность отписки + подписка по согласию пользователя и уверен ни одной жалобы от юзеров не будет, так как это в их интересах и материал нужен им.
slo_nik: Большая часть нет, малая часть для зарегистрированных. По сути это подписка на страницу, которая обновляется, в течении дня, и после обновления нужно оповестить тех, кто подписан на эту страницу. Таких страниц ~500 000 и на каждую может подписаться много людей)
Спасибо за пояснение, подумаю, стоит ли делать такой функционал или нет. Хотел как маленькое, не совсем нужное дополнение сделать, что бы настроить и забыть и пусть живет на автомате, но видимо будет много времени занимать, так как постоянное нововведения и изменения в данном направлении. Это как html5 много лет назад, когда нам приходилось целыми днями на всех браузерах подгонять к одному виду и плакать от IE 6-7. Сейчас как страшный сон)
Philipp: Вы не подскажите, где посмотреть примеры или мануалы про "можно обойтись стандартными" Про Safari я так и думал, а вообще на сколько эта "фича" Push стабильна? Или на сегодня система сыра? Я заметил много больших компаний, где это работает через раз и совсем не стабильно...
оповестить пользователя если сайт закрыт - Я видимо ошибся и эта другая технология) WEB Push https://habrahabr.ru/post/306146/ И нужно использовать сторонний сервис...