@oop_ru

Страница 66 из 785
Olha
15.01.2017
13:50:58
Оо, ты и тут есть
а как же без меня ?

Sergey
15.01.2017
14:37:34
Никто не хочет пофилосовствовать на тему использования событий для развязывания системы?)

а то я тут хочу впаять domain events и выполнять некоторые действия по ивентам вместо того что бы заворачивать в декораторы/размазывать по коду

Olha
15.01.2017
15:20:54
Никто не хочет пофилосовствовать на тему использования событий для развязывания системы?)
весьма интересная тема, давай пофилосовствуем. И это удобно, когда действия, не реализующие бизнес-логику, вынесены на уровень событий

Google
Rodion
15.01.2017
15:26:53
вспомнил статью касательно использования ивентов http://mmoreram.com/blog/2015/08/20/re-thinking-event-listeners/ интересно ваше мнение

Evgeniy
15.01.2017
16:02:35
как кто то говорит о событиях вспоминается вот этот доклад https://www.youtube.com/watch?v=SyWFvn0I6m8

кому интересно можно полную версию посмотреть но там про фронтенд

Роман
15.01.2017
16:10:52
Много нового узнал.

Evgeniy
15.01.2017
16:11:21
ото все о solid, ddd,dry, kiss и тд рассказывают скучные бородатые мужики

нету веселья

Rodion
15.01.2017
16:24:38
пояснил за ивенты

Sergey
15.01.2017
18:27:51
весьма интересная тема, давай пофилосовствуем. И это удобно, когда действия, не реализующие бизнес-логику, вынесены на уровень событий
тут есть нюанс. У меня есть ивенты возникающие в рамках бизнес транзакциях, на которые должны реагировать совсем другие контексты

какой бы пример привести

например если кто-то регистрируется в системе указав своего реферального пользователя, мне надо запустить отдельную бизнес логику которую я хотел бы вынести в отдельный модуль и полностью отделить от всей системы

как минимум потому что... мне нужно будет в будущем очень часто менять этот кусок системы вплодь до того что придется отключать отдельные ее элементы из конфига

то есть как бы... есть второстепенная логика которую мне хочется тригерить ивентами в основной системе

Google
F01134H
15.01.2017
18:29:30
Тут как никстати подошла бы SOA, но увы, php

Sergey
15.01.2017
18:29:48
F01134H
15.01.2017
18:30:04
Он не подходит для SOA =|

Sergey
15.01.2017
18:30:09
че это?

Sergey
15.01.2017
18:30:10
ну и как бы soa это тип "ну чувак теперь тебе придется делать это на ивентах/сообщениях")

F01134H
15.01.2017
18:30:31
че это?
Потому что каждый сервис должен работать как отдельный процесс

Sergey
15.01.2017
18:30:42
и чем пхп не подходит?

F01134H
15.01.2017
18:30:43
А в php как бы все кучей исполняется

Sergey
15.01.2017
18:30:48
Потому что каждый сервис должен работать как отдельный процесс
никто не оговаривал что процесс не должен умирать

Sergey
15.01.2017
18:30:53
в смысле кучей?)

Sergey
15.01.2017
18:31:14
А в php как бы все кучей исполняется
если у тебя каждый "сервис" является самодостаточным приложением со своей базой данных... то нет никакой разницы

просто слегка глупо

F01134H
15.01.2017
18:31:42
Делать сервисную архитектуру на php - это странно, т.к. придется для каждого сервиса юзать отдельный php процесс

F01134H
15.01.2017
18:32:08
В общем-то в монолите - нет

Я наверное неясно выразился

Sergey
15.01.2017
18:32:47
В общем-то в монолите - нет
окей, тогда давай так. SOA в контексте монолитной архитектуры не имеет ровным счетом никакого смысла

особенно если вспомнить в контексте какого вопроса ты про нее вспомнил

F01134H
15.01.2017
18:33:13
Астанавись

Google
Sergey
15.01.2017
18:33:13
микросервисы - полезный вид SOA

F01134H
15.01.2017
18:33:20
ты не понял меня

Sergey
15.01.2017
18:33:25
я не понял тебя)

там Ольга правильную ссылку кинула

F01134H
15.01.2017
18:33:40
Под процессом php я подразумевал отдельную php-машину на каждый процесс

Sergey
15.01.2017
18:34:04
Под процессом php я подразумевал отдельную php-машину на каждый процесс
я опять не понял. Что, почему отдельная машина, зачем это?

и давай мыслить "контейнерами" (мы же модные?)

F01134H
15.01.2017
18:34:19
Да

Мало ли, вдруг ты про докер не слышал

Ну так вот, в SOA, каждый сервис - является контейнером по сути

и между ними по ресту (или RPC, или еще чему угодно) гоняются сообщения

Olha
15.01.2017
18:35:08
F01134H
15.01.2017
18:35:57
Ну так вот, в чем суть моего посыла, лучший вариант для модульности - SOA

Sergey
15.01.2017
18:36:04
делал и soa (где rabbitmq между компонентами был шиной) и микросервисы

F01134H
15.01.2017
18:36:26
Там же было сообщение выше, что типо разграничить логику

Sergey
15.01.2017
18:36:51
окей, как бы ты в рамках soa архитектуры делал бы то что я описывал?

скорее всего по звершению транзакции регистрации юзера ты бы кидал RPC запрос на другой сервис что бы тот что-то делал

так?

Google
F01134H
15.01.2017
18:37:37
Неужели ты сам не догадываешься, как тут использовать принцип SOA?)

например если кто-то регистрируется в системе указав своего реферального пользователя, мне надо запустить отдельную бизнес логику которую я хотел бы вынести в отдельный модуль и полностью отделить от всей системы

как минимум потому что... мне нужно будет в будущем очень часто менять этот кусок системы вплодь до того что придется отключать отдельные ее элементы из конфига

то есть как бы... есть второстепенная логика которую мне хочется тригерить ивентами в основной системе

Sergey
15.01.2017
18:38:10
Неужели ты сам не догадываешься, как тут использовать принцип SOA?)
неужели ты не увидел что этот способ ничем не отличается от старых добрых событий? Код выйдет абсолютно одинаковым

вот только нет гемороя с поддержанием распределенного приложения

Admin
ERROR: S client not available

F01134H
15.01.2017
18:38:43
Ой, ну кто как называет. Кому то разделение обязанностей не кажется гемороем

Sergey
15.01.2017
18:39:31
Ой, ну кто как называет. Кому то разделение обязанностей не кажется гемороем
поддержка, деплоймент, раскидывание контейнеров по сервакам... ну и такой момент что вся команда разработчиков должна прекрасно понимать что делает и сроки не должны быть ужаты в край)

распределенные архитектуры крутые, не спорю, но у меня прям дикий батхерт когда люди просто так говорят "да не парься, заюзай SOA/микросервисы"

как буд-то бы это решение всех проблем и у нее нет своих минусов

а точнее не то что минусов... цены

F01134H
15.01.2017
18:40:41
Ну ты не вырывай из контекста) Ты сказал про модульность, я упомянул про SOA - все логично вроде бы

Sergey
15.01.2017
18:41:00
а не про модульность

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

F01134H
15.01.2017
18:41:47
Объясни джуну, как эвенты могут выглядеть, как SOA

Sergey
15.01.2017
18:42:06
Объясни джуну, как эвенты могут выглядеть, как SOA
вот смотри, мой пример ты рассмотрел, предложил SOA

у тебя в рамках одной будут два компонента - users и referral system

так?

Google
F01134H
15.01.2017
18:42:52
Да

Sergey
15.01.2017
18:42:54
вот а теперь скажи, как бы ты с SOA сделал бы так, что бы users ничего не знало о referral system но при этом дергало бы его при успешной регистрации пользователя при определенных условиях

хотя бы примерно

где и кто дергал бы кого по RPC/HTTP/etc

F01134H
15.01.2017
18:44:06
А зачем юзеру дергать реферальную систему?

ну, в смысле, оно вроде по другому работает

сначала дергается реферальная система

Sergey
15.01.2017
18:44:41
Другой контекст это другое приложение с другим сабдоменом
ну там примерно так и есть. У меня есть регистрация пользователей, и приглашать людей можно в рамках оной. И есть другое приложение по сути которое позволяет строить рейтинги юзеров по куче критериев.

потом на основе этой статистики можно бонусы раскидывать в другие части системы

то есть полностью независимые контексты. Если я отрублю реферальную систему - другие компоненты об этом не должны даже знать

Aleh
15.01.2017
18:46:35
бл?
Бизнес- логики, тупаю команда в дпугую сисиему

Sergey
15.01.2017
18:47:17
эм.... ну говорю ж, логика разделена по контекстам

есть инвайтер юзера. Он нужен не только для рефералки

рефералка постоянно раскидывает людям в бэкграунде какие-то бонусы

сейчас у меня на нее завязано пара компонентов системы но я это дело буду развязывать на след неделе

Страница 66 из 785