NServicebus для связи клиент / сервер? - PullRequest
2 голосов
/ 08 февраля 2011

Я начинаю новый проект и влюбился в концепцию сервисной шины для подключения ваших сервисов к бэкэнду. Поскольку я в основном занимался веб-разработкой, я просто подключал веб-уровень к сервисам через ESB.

Теперь я начинаю с настольного приложения, для которого требуется подключение к серверу / клиенту, и ESB кажется хорошей идеей, поскольку по умолчанию используется асинхронная модель, а также обеспечивает некоторую гибкость в распределении нагрузки. Также Pub / Sub имеет большой смысл во многих случаях ..

Вы много читали в Интернете на ESB, Айенде также сделал свое Александрийское приложение, которое использовало ESB в сценарии запроса / ответа. Тогда другие говорят, что делать запрос / ответ через ESB - это плохо.

Какие серьезные проблемы могут возникнуть у ESB, поддерживающего связь между сервером и клиентом?

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Взгляните на пост Уди Даана на CQRS (Разделение команд / запросов). Это укажет вам на те моменты, которые вам необходимо принять. Основная проблема с клиентскими приложениями - создать фоновый насос и перенести эти данные обратно в поток пользовательского интерфейса. Для Интернета разделение запросов в более денормализованном хранилище хорошо сработало для нас, но эта методология заставит вас по-другому взглянуть на то, как вы строите свой интерфейс. Это значительно упрощает модель, поскольку вам не нужно отображать объекты 47 раз для получения данных, что я всегда пытался оправдать. Очевидно, что недостатком является больше движущихся частей, но мы сочли это полезным.

1 голос
/ 08 февраля 2011

Это действительно интересный вопрос для меня, потому что я задавал тот же вопрос с противоположной точки зрения - переход с WinForms на Web (хотя в группе Yahoo, а не на SO).

Асинхронный запрос / ответ наWinForms отлично работали для меня из коробки.Пользовательский интерфейс просто запускает команду запроса и забывает об этом.Если получен ответ (с результатами запроса), и представление, которое хочет его, все еще доступно, данные заполняются в представление.

Я пытаюсь сформировать представление о том, почему это «плохо»«использовать ESB для запросов, и лучшее, что я могу придумать, - это то, что асинхронная модель нелегко вписывается в требования к созданию страницы для веб-приложения.Также есть некоторое снижение производительности по сравнению с другими более прямыми методами запросов.

Мне не нравится ответ «просто потому что», поэтому я с нетерпением жду других ответов на ваш вопрос.

...