@AdamDickins

Нужна помощь в SOA ESB — php?

Здравствуйте. Разбираю статью
https://www.dobryakov.com/blog/1625/#more-1625

Приведу выдержку

Событийная модель SOA в программном коде

Говоря кратко, вам нужно смотреть на свой код не как на классы с функциями (методами), а как на события и действия, которые происходят в качестве реакции на эти события.
Причём результаты действий – тоже события.

Применительно к обсуждаемой архитектуре, можно сказать, что локальные события – это события, произошедшие внутри конкретного PHP-скрипта, а удалённые события – это события, пришедшие в этот скрипт из очереди AMQP (или отправляемые туда в качестве результата). Если вы будете рассматривать весь свой код именно так, то это немедленно приведёт к удивительному и очень важному эффекту:

Если локальные и удалённые события – это одно и то же, то и локальные и удалённые обработчики – это одно и то же!

Почему это так важно? Потому, что программисты вашей команды продолжают писать обычный PHP-код, не задумываясь, где будет обработано то или иное событие – тут же в этом или соседнем PHP-скрипте, или где-то на другом конце системы, в другом демоне, хоть на другом языке программирования.
Если вы делаете проект с публичным API – то любой сторонний участник сможет “подписать” свой код на ваши события (и обрабатывать их), или наоборот – отправлять вам свои, чтобы вы обрабатывали его события как запросы (и получали за это деньги, если вы используете бизнес-модель SAAS с оплатой за потребляемые ресурсы, как Amazon).

Вспомните, что мы называли основным недостатком классических крупных веб-проектов – непрерывно растущую сложность, а следовательно – стоимость владения, стоимость поддержки и внесения изменений.
В случае с событийной SOA-архитектурой – сложность непрерывно уменьшается, так как “сложные узлы” легко делить на независимые сервисы (в данном случае – демоны), при этом принципы работы системы остаются неизменными, а её быстродействие только возрастает.


Помогите разобраться в принципе построения SOA ESB архитектуры на PHP
Буду рад статьям на эту тему, либо код демонстрирующий данную архитектуру.
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы