
Maksim
25.10.2017
13:19:31
а потоки в эрланге ещё лучше)
но мы тут про пхп, мучаемся с пхп :)

Dmitry
25.10.2017
13:20:15
"превозмогая"?

Maksim
25.10.2017
13:21:26
Не знаю, как у вас дела обстоят, но я не особо парюсь.
Просто сейчас отказался от модного mvc в сторону event-based микросервисных приложений. Разные языки (пых, го, джава), но одна шина.

Google

Pavel
25.10.2017
13:22:41
Шило на мыло
Я тихо ненавижу уже микросервисы :)

Mikhail
25.10.2017
13:23:14
Ну вы же понимаете это PHP ? а вы говорите о многопоточности
PHP не для этого

Dmitry
25.10.2017
13:23:52
А он "превозмог" ;)

Mikhail
25.10.2017
13:24:17
"Он" это кто?

Pavel
25.10.2017
13:24:23
Хотя event-based сравнивать с MVC не совсем корректно

Dmitry
25.10.2017
13:24:42

Pavel
25.10.2017
13:25:05
Ну видимо имелся в виду некий монолит против микросервисов.

Maksim
25.10.2017
13:25:17
в cqrs/es связке в принципе нет возможности использовать mvc
только на уровне отдельного приложения под query bus
эти подходы сравнивать так же корректно, как и мягкое с тёплым. Тут согласен. Но выразить, видимо, верно не смог

Pavel
25.10.2017
13:26:50
Почему же, все CQRS/ES дела убираются в модельный слой, контроллер забирает результат и пихает во view. Чем не оно.

Google

Maksim
25.10.2017
13:27:10
откуда он результат забирает?)

Nikolay
25.10.2017
13:27:13
Всем привет, подскажите, что делаю не так
<?if (!$isNewsView || !$isArticlesView ) { ?>
<div class="page-title">
<h1><? $APPLICATION->ShowTitle ( false ) ?></h1>
</div>
<?}?>

Maksim
25.10.2017
13:27:18
вы правда понимаете что это за слова?

Nikolay
25.10.2017
13:27:21
Но конструкция не работает
!$isNewsView
!$isArticlesView
=1

Mikhail
25.10.2017
13:28:38

Nikolay
25.10.2017
13:29:48
Немного не понял)

Pavel
25.10.2017
13:31:30

Maksim
25.10.2017
13:31:48

Pavel
25.10.2017
13:32:07
Все что там в корневом неймспейсе - это просто котнроллер, получаем данные и рендерим view

Maksim
25.10.2017
13:32:15

Pavel
25.10.2017
13:32:41
> от http можно/нужно избавиться.
Как ты от него избавишься? Предложишь пользователю ходить напрямую по AMQP протоколу? =)

Maksim
25.10.2017
13:33:44
зачем?) есть инструменты с быстрым i/o. Которые с удовольствием возьмут http запрос и положат в очередь
привет какая-нибудь нода

Pavel
25.10.2017
13:34:30
Причем тут php ?

Maksim
25.10.2017
13:34:33
она же потом из очереди заберёт эвент и отдаст его какому-нибудь ангуляру :)
при том, что все команды будут обработаны демоном где-то за кадром

Dmitry
25.10.2017
13:34:58
прикольный чувак. ;) он из cqrs+es целую инфраструктурную архитектуру вывел ;)

Google

Pavel
25.10.2017
13:35:33

Maksim
25.10.2017
13:35:50
вам явно виднее :)

Pavel
25.10.2017
13:36:20
Я же писал выше что MVC подход может вполне норм использоваться совместно с CQRS и с ES

Maksim
25.10.2017
13:36:24

Pavel
25.10.2017
13:36:29
Они друг другу не мешают.

Maksim
25.10.2017
13:36:32

Pavel
25.10.2017
13:36:56
увы, нельзя
А мужики то и не знают, у которых годами так сайты крутятся )
Что они используют невозможный подход.

Maksim
25.10.2017
13:37:31
можно и ёжика сожрать. Сайт визитка закрутится и на таком.
Но генерация представлений, снапшотов, саги - всё идёт по звезде в таких условиях. Оно неюзабельно от слова совсем

Pavel
25.10.2017
13:38:04
Ну и не только визитка. И зачем сюда ноду приписывать.

Maksim
25.10.2017
13:38:26
затем, что есть понятие event store и read datavase
вы про event sourcing аще нихера не знаете, так зачем пытаетесь спорить?)
что быстрее сможет получить данные из read базы? пхп или нода?)

Pavel
25.10.2017
13:39:17
Кто быстрее побежит тот и получит.

Maksim
25.10.2017
13:39:39
почему у вас в примере данные берутся не из read базы, а из агрегата?) вы знаете как создаётся агрегат?

Dmitry
25.10.2017
13:39:43
Максим, проблема в том, что вы тоже нихера не знаете... вот в чем проблема. У вас какая-то каша в голове из паттернов проектирования, инфраструктуры и базвордов...

Maksim
25.10.2017
13:40:08

Dmitry
25.10.2017
13:40:28
не сомневаюсь, что вы так считаете

Maksim
25.10.2017
13:40:43
вот в примере выше товарищ показал, что он собирает агрегат и передаёт его во view часть. Гениально, но это не event sourcing

Google

Maksim
25.10.2017
13:41:56
т.е. давайте мы возьмум пустой агрегат, накатим на него N эвентов до ближайшего снапшота и отрендерим? гениально.
Но смотрите дальше) у этих разрабов есть все части головоломки в репозитории
и почитайте Янга) поможет для понимания зачем и что используется.

Pavel
25.10.2017
13:42:51
> Гениально, но это не event sourcing
А кто вам это сказал? Потому что так у Янга написано?

Maksim
25.10.2017
13:43:32
потому, что агрегат и представление - разные вещи. Потому, что есть 2 базы данных: операционная (event store) и с представлениями (read)
у этих парней это так же на месте. Просто вы не видете потому, что не понимаете о чём пытаетесь спорить

Pavel
25.10.2017
13:45:03
> есть 2 базы данных: операционная (event store) и с представлениями (read)
Это где вообще такое написано?
Представление может хоть каждый раз заново вычисляться, хоть на триггерах работать.

Maksim
25.10.2017
13:46:53
Отлично. Т.е. мы берём query запрос, поднимаем агрегат, накатываем все эвенты, генерируем на основании агрегата представление, отдаём клиенту.
и так каждый раз?)

Egor
25.10.2017
13:47:04
?

Pavel
25.10.2017
13:47:07
> Оно неюзабельно от слова совсем
А что там юзабельно или нет - это ваши личные догадки которые не имеют отношения к реальности.

Maksim
25.10.2017
13:47:20
конечно) вам виднее

Dmitry
25.10.2017
13:47:35
Паш, харе тролить ;)

Pavel
25.10.2017
13:47:42

Maksim
25.10.2017
13:47:58
Так оно работает ток у вас, теоретика :)

Pavel
25.10.2017
13:48:27
Работает и кушать не просит. Значит имеет право на жизнь.

Dmitry
25.10.2017
13:48:50
Боже упаси меня от практика, который для cqrs+es нагородил ноду + асинхронность в пхп ;) оказывается, оно иначе не работает ;)

Maksim
25.10.2017
13:48:55
на сайтах визитках, конечно)

Pavel
25.10.2017
13:49:33
А вы как определяете метрику сайтовизиточности для системы?

Maksim
25.10.2017
13:50:43
по выполняемым задачам, кол-во поситителей и их действиям над системой. С любовью, ваш К.О.

Pavel
25.10.2017
13:51:23
Я не спорю что в кровавом энтерпрайзе там все хранится в 100500 облачных хранилищах и работает на джаве на сервере с 128GB оперативки. Но у нас же тут php - мир уюта и наколеночных проектов. Иногда они вырастают до больших, иногда так и остаются декоративными собачками.

Google

Maksim
25.10.2017
13:53:05
банальный вопрос: в рамках синхронной схемы как организовать саги?
как разделить выполнение задачи на несколько языков программирования?
яркий пример - гостовая криптография. Только джава, только хардкор.
ну либо сишарп

Dmitry
25.10.2017
13:57:21
Понимаешь в чем твоя проблема... CQRS - это просто паттерн. И областей применимости - куча. Хоть взаимодействие между агентами раздведки ;) Где ты подхватил идеи - я не знаю, но твое изложение "все в кучу поливая базвордами" говорит в общем не о твоем профессиоанлизме, а скорее о "хайпнутости".

Maksim
25.10.2017
13:58:11
Для модного мвс почему-то подряжают нжинкс, фпм и прочее всякое) а нода под рид базу - фу, изврат)
Л - логикв

Dmitry
25.10.2017
13:58:11
cqrs es вполне используется на одном языке в одном приложении без всяких там "микросервисов". Зачем ты валишь все в кучу - не понимаю.

Adel
25.10.2017
13:58:20
ну тут у вас две крайности. Вы похоже не хотите отличать write модели от read моделей :) а товарищ... запутался в базвордах и технологиях.
был бы это форумный тред, я б его прикрыл

Dmitry
25.10.2017
13:58:41
Ну в том и отличие.. от форума ;)

Maksim
25.10.2017
14:00:23
Товарищ ни в чём не запутался) просто Дмитрий не очень представляет как оно работает)
Вот уже и микросервисы не нужны стали) хорошо, чтл это не Го чатик)

Pavel
25.10.2017
14:01:04
Конечно стали не нужны, волна микросервисов уже прокатилась лет 15 назад по миру и ни к чему особо не привела.
С этим хайпом будет то же самое.

Maksim
25.10.2017
14:01:30
Окей) это ваше мнение

Dmitry
25.10.2017
14:01:35
cqrs вообще не имеет отношения к микросервисам
es вообще не имеет отношения к микросервисам

Maksim
25.10.2017
14:02:04
Про спги мне так никто и не ответил)
Саги*

Dmitry
25.10.2017
14:02:27
то, что инфраструктурную архитектуру системы с ее ПО и микросервисами можно построить по принципам, описанным в этих паттернах - не значит, что эти паттерны "про это"

Pavel
25.10.2017
14:02:57

Maksim
25.10.2017
14:03:55
Не стоит.
Лучше посмотрите что-нибудь вроде нсервайс баса
Сага из вашего примера не выберется из таймаута при реальном использованмм