@phpclubru

Страница 429 из 956
Pavel
04.01.2018
23:15:07
Это делает фалькон )

Maksim
04.01.2018
23:15:17
это делает бэкэнд) любой.

а фронтэнд собирает

Pavel
04.01.2018
23:15:37
Какой фронтенд ?

Google
Maksim
04.01.2018
23:15:50
который ты заджикверил и забутстрапил)

но нахера тут фалкон я всё ещё не понимаю)

Pavel
04.01.2018
23:16:31
Не, ты напиши конкретно какой язык че делает

Вот в фальконе логика понятна - приходит запрос, nginx его проксирует на phalcon, тот отрабатывает свою логику согласно разделу новости (acl и все такое), потом идет забирает из редиса 5 ключей и из них рендерит страницу. И отдает.

Это читаемо, логично, тестируемо, все привыкли. А в случае nginx<->redis как это выглядит?

Maksim
04.01.2018
23:18:53
а зачем он забирает всё это и генерит на сервере, если можно всю "статику" тупо доставать из того же редиса нжинксом?) без участия фалькона? пришёл запрос, проверил, часть сгенерил, часть нжинксом отдал - какой-нить тупорылый js всё склеил воедино

Dmitry
04.01.2018
23:19:07
две основные проблемы программирование - именование переменных и инвалидация кеша ;)

Maksim
04.01.2018
23:19:28
инвалидация в данном случае не отличается никак) ключи известны, данные в них тоже)

Dmitry
04.01.2018
23:20:27
есть вполне реальные случаи, когда кеш не работает

Pavel
04.01.2018
23:20:29
Ну вытаскивать логику на уровень JS, да, попахивает. Придется писать костыли для инвалидации всего этого дела.

Maksim
04.01.2018
23:20:51
есть вполне реальные случаи, когда кеш не работает
ну тогда он будет по старинке обращаться и получать данные. Приложение никак не меняется

но даже в твоей схеме фалкон на кой хер нужен-то? что бы сползать в мускуль?

Pavel
04.01.2018
23:20:57
5 лет назад так точно было, да и сейчас я был бы против того чтобы на фронтенде что-то такое сложное делать.

Google
Maksim
04.01.2018
23:21:10
поздравляю, как только фалкон ползёт в мускуль он превращается в ничто)

Dmitry
04.01.2018
23:21:17
почему в мускуль.. данные могут быть в быстрых базах

Maksim
04.01.2018
23:21:31
в редисе кеш) а данные где?)

Dmitry
04.01.2018
23:21:46
просто варианты комбинаций этих данных может быть столько, что кешировать результат невыгодно

Pavel
04.01.2018
23:22:17
в редисе кеш) а данные где?)
Данные в мускуле, и он их пересобирает когда надо

Maksim
04.01.2018
23:22:22
ну вот...

Dmitry
04.01.2018
23:22:27
а сложная логика на nginx - это тот же интерпретатор опять, perl там или lua...

Maksim
04.01.2018
23:22:34
короче пустой холивар. Кто-то кого-то явно не понимает

взять фалькон, ползать в мускуль - победа. Всем рекомендую Рабочий вариант :)

Dmitry
04.01.2018
23:23:26
в редисе.. не кеш, в редисе данные...

Maksim
04.01.2018
23:23:34
выше прочти)

Dmitry
04.01.2018
23:24:20
скажем так, в мускуле могут быть нормализованные данные, в редисе - денормализованные... но все-равно не настолько, что бы их выплевывать прямо на страницу

Maksim
04.01.2018
23:24:52
ну из описания Павла я понял, что он именно этим и занимается: выплёвывает на страницу)

Dmitry
04.01.2018
23:25:14
ну он очень условно.. мы тут все немного о сферическом коне в вакууме

Maksim
04.01.2018
23:25:42
да ещё и всякие лайки держит в представлении той же новости. ну такое себе решение) фалкон тут за яйца притянут и опять-таки нахер не нужен)

Pavel
04.01.2018
23:26:04
Да конечно мало смысла пытаться сформулировать в двух предложениях не самую простую архитектуру

А таких рекомендаторов всегда были тонны, которые знают как лучше_всего_сделать и просто_и_лихо, а когда доходит до реальных проблем так все эти рекомендации терпят фиаско(

Dmitry
04.01.2018
23:27:20
ну вот например, новостной сайт, когда ты ленту меняешь на ходу для посетителя в зависимости от просмотренного

Pavel
04.01.2018
23:27:33
Потому что например оказывается что прикрутить какой-нибудь счетчик посещений страницы от пользователей за исключением админов уже нельзя..

Google
Maksim
04.01.2018
23:28:12
ну вот например, новостной сайт, когда ты ленту меняешь на ходу для посетителя в зависимости от просмотренного
да меняй как угодно) когда ты отдаёшь контент частями это даже легче, чем собирать всё на сервере)

Pavel
04.01.2018
23:28:19
И надо гавнокодить на lua прямо в nginx мясо кровь кишки. Типизация потеряна, юнит тестами не покрыть. Так и живем.

Dmitry
04.01.2018
23:28:33
ну не будешь же ты с клиента в ленту новости по одной запрашивать

Maksim
04.01.2018
23:28:45
не надо там ничего говнокодить, хоспаде)

господа, вы бы хоть загуглили для интереса.

Dmitry
04.01.2018
23:29:31
опять же, что бы определить - какие новости запрашивать, нужно взять профиль клиента, посчитать что-то и решить - что отдавать

Maksim
04.01.2018
23:30:32
Pavel
04.01.2018
23:31:12
и? ну вот хоть убей проблемы не вижу :(
Ну лично я так и не вижу, где в твоем месте у тебя логика сборки размещена. Кто решает какие куски отдать на клиента?

Dmitry
04.01.2018
23:31:33
мы не о проблемах, мы о том, что есть случаи, когда собственно логики мало, i/o быстрый (память), и результат в кеш не положишь, ибо будут сплошные miss-ы

и тут важно снизить затраты приложения

Pavel
04.01.2018
23:32:09
Ты можешь написать конкретно на каком языке в каком месте технологического пирога бэкендовая логика? Или так и будешь вокруг да около ходить?

Maksim
04.01.2018
23:32:16
не ну затраты приложения определённо снизятся, если страницу генерить на сервере

Pavel
04.01.2018
23:32:55
Ну то есть фалькон)

Dmitry
04.01.2018
23:32:58
если ты фейсбук - можешь написать свой компилятор ;) если помельче - можешь фалькон взять, пару кусков на зефире

Maksim
04.01.2018
23:33:16
https://ruhighload.com/nginx.ssi.jpg

даже с картинкой)))

Dmitry
04.01.2018
23:33:47
кто определит - какие блоки отдавать клиенту то?

только приложение

Google
Maksim
04.01.2018
23:33:58
да

оно же данные в кеш и положит

у тебя есть экшен getNewsFeed там в зависимости от каких-то параметров ты генеришь ответ

Dmitry
04.01.2018
23:35:13
у тебя тысяча клиентов ходит по сайту, и ты каждый на запрос каждого клиента "просмотр новости" перестраиваешь ему список новостей в ленте

Maksim
04.01.2018
23:35:14
ты отрендерил ответ и параллельно закинул его в мемкеш.

Dmitry
04.01.2018
23:35:16
какой тут кеш

Pavel
04.01.2018
23:35:19
фальконом.

Dmitry
04.01.2018
23:35:38
ты думаешь фейсбук кеширует ленту?

Maksim
04.01.2018
23:35:52
уверен даже

Dmitry
04.01.2018
23:35:58
;) нет

Maksim
04.01.2018
23:36:24
ну значит они молодцы) им денег хватает

Pavel
04.01.2018
23:36:49
Ладно я даже согласен с тобой когда сайт действительно тупо состоит из статически нагенеренных новостей. Но вообще то в реальных проектах такого уже нету лет 10.

Dmitry
04.01.2018
23:37:03
дело не в деньгах, дело в том, что у тебя нет ярко выраженных горячих данных, которые влезут в память кеша

Pavel
04.01.2018
23:37:11
Там например 80% статически нагенеренный новостей, а остальное - сплошной динамизм.

Dmitry
04.01.2018
23:37:37
т.е. будет у тебя HIT в 1%... это не кеш, это деньги на ветер

Maksim
04.01.2018
23:37:44
ну возьми тот же фб, который Дмитрий привёл)

расскажи ему, что нужно собирать страницу целиком на сервере

Pavel
04.01.2018
23:38:33
Ну они могут даже не рендериться в html, но собирается страница все равно очень сильно бэкендом.

Google
Maksim
04.01.2018
23:38:42
да схерали?

т.е. будет у тебя HIT в 1%... это не кеш, это деньги на ветер
ну с лентой скорее всего даже соглашусь

Dmitry
04.01.2018
23:39:08
собрать json со списокм новостей - это в общем тоже "собрать сайт" ;)

но мне вот из-за фейсбука пришлось, суки, телефон менять, ибо невозможно пользоваться... а не такой уж он и старый был... чоб они сдохли с рендерингом на клиенте ;)

Maksim
04.01.2018
23:40:29
зато это дешевле)

Dmitry
04.01.2018
23:40:38
мне нет ;))

а так да...

Maksim
04.01.2018
23:41:03
ну у тебя есть http кеш, который часть инфы схоронит, которую они пожелают

Pavel
04.01.2018
23:41:04
Дешевле чем на бэкенде? А как же твиттор который отказался от client-side рендеринга ?

Maksim
04.01.2018
23:41:18
дешевле

Dmitry
04.01.2018
23:41:32
поддерживать сложнее на самом деле

Maksim
04.01.2018
23:41:52
в разы

Dmitry
04.01.2018
23:41:55
если ты не фейсбук, который свой реакт пилит

Maksim
04.01.2018
23:42:14
но для этого и придумали всякие штуки типа варниша

Pavel
04.01.2018
23:42:16
https://twitter.com/dan_abramov/status/924441145626816512

Это 2 месяца назад написано

Maksim
04.01.2018
23:43:45
я к своему стыду не пользуюсь ни фейсбуком, ни твиттером. Но на первый взгляд в том же твиттере что на сервере, что на клиенте нечего рендерить))

фейсбук в качестве примера лучше подходит)

Dmitry
04.01.2018
23:44:10
ну серверный рендеринг быстрее дает респонс, факт... одна из причин изоморфизма

а фейсбук глючный как диэтиламид d-лизергиновой кислоты... особо в веб версии

Maksim
04.01.2018
23:46:17
и вообще) мы от темы отдалились) фалкон-то нахера?) почему не взять обычный пхп говнокод с реактом, если хочется анальных приключений?)

Страница 429 из 956