Реализация CQRS в PHP - PullRequest
       57

Реализация CQRS в PHP

0 голосов
/ 14 мая 2018

Я исследую паттерн CQRS, и наша команда хочет разработать систему на основе CQRS в PHP.

Я знаю, что мы можем моделировать систему событий в PHP, но я обнаружил, что CQRS реализует лучше / проще, если язык программирования будет основан на событиях (я не уверен в этом).

У меня два вопроса:

  1. Я хочу знать, что, если мы разработаем нашу систему по CQRS, шаблон в PHP может быть надежным или перейти на другой (основанный на событиях) язык программирования, что даст нам большую согласованность?

  2. Какие преимущества имеет CQRS в системе микросервисов? Есть ли другой шаблон, который надежен и проще в реализации?

Ответы [ 3 ]

0 голосов
/ 16 мая 2018

Язык, который вы используете, не имеет большого значения для CQRS.Команды и запросы - это действительно простые объекты, поэтому вы можете использовать PHP, если хотите.Выберите, с чем знакомы разработчики.

При использовании микросервисов CRQS может быть действительно полезен в сочетании с источником событий: microservice A обрабатывает команды и сохраняет события в хранилище событий, а микросервис B обрабатывает события и обновляет запрос.База данных и обрабатывать запросы.Таким образом, ваши услуги можно будет масштабировать независимо, а бизнес-логикой легче управлять.

0 голосов
/ 28 мая 2019

Я не рекомендую вам использовать PHP для построения CQRS.Первый вопрос, который вы должны задать себе: «Каковы причины, по которым вам нужно внедрить технологию поиска событий, такую ​​как CQRS?»

Если ответ таков, вам нужна архитектура, которая позволяет вамРаспространите все свои системы более эффективным способом, вы должны пересмотреть использование PHP.Он работает в однопоточном процессоре и имеет так много ограничений.

В течение нескольких месяцев мы работали над проектом PHP, основанным на CQRS, но в конце концов мы боролисьс большим количеством вопросов, связанных с производительностью.Наконец, мы открыли для себя функциональное программирование с помощью Elixir и решили отказаться от этой возможности.

В течение нескольких месяцев я читал много информации о CQRS и нашел для Мартина Фаулера, который является одним из участников, большеактуально в мире микросервисов.И даже он настоятельно рекомендует использовать функциональный язык программирования для поиска событий.

Однако, если вы решили использовать PHP для создания проекта CQRS, вы можете дать шанс и протестировать его самостоятельно.

И наоборот, если вы заинтересованы в использовании Elixir, вы можете начать с чтения реальных примеров https://leanpub.com/buildingconduit/read, который представляет собой блог-сайт, использующий Elixir с CQRS + библиотекой Comaged.

0 голосов
/ 14 мая 2018

Я предлагаю PHP. Потому что это открытый исходный код и надежный.

Пожалуйста, выберите этот источник в качестве одного из примеров. https://pilsniak.com/cqrs-es-php-prooph/.

...