Обзор возможностей
NServiceBus
Евгений Шапиро
Lead Developer
Mercury Development
Microsoft TechDays
Общее
Сервисная шина NServiceBus
www.nservicebus.com
Автор – Udi Dahan
http://www.UdiDahan.com
MSMQ
Microsoft TechDays
Архитектура
взаимодействия
bus.dl
Сервис 1
l
bus.dl
Сервис N
l
bus.dl
l
Сервис 2
Microsoft TechDays
Шаблоны взаимодействия
Однонаправленное сообщение (Oneway)
Запрос/ответ (RPC)
Дуплексный обмен (Full-duplex)
Издатель/подписчик (Pub/Sub)
Microsoft TechDays
Использование
Команда
Клиент
Сервер
Статус
Сервис 2
Microsoft TechDays
Событие
Сервис N
Пример
Зарегестрировать
Нового Клиента
Кредитован
ие- клиент
Успешно
Кредитован
ие- сервис
Новый Клиент
Зарегестрирован
Подписчики
Безопасност
ь
Юристы
Риски
Залоговики
Microsoft TechDays
Сообщение
public class HelloWorldMessage
: IMessage
{
public string Name
{
get; set;
}
}
Цикл обработки
Служба
сообщений
Message Handler 1
(IHandleMessages<>
)
Message Handler 2
Входна
я
очеред
ь
БД
Message Handler 3
Обработка сообщения
происходит в транзакции
Microsoft TechDays
Отправка и
обработка
сообщений
Демонстрац
ия
Microsoft TechDays
Издатель/подписчик
Bus.Publish(msg)
3
2
Издатель
Хранилищ
е
Подписчик 2
4
1
1. Отправка сообщения
подписки
2. Сохранение подписки
3. Получение адресов
подписчиков
4. Отправка сообщения
каждому из
подписчиков
Подписчик 1
Microsoft TechDays
Издатель/подписчи
к
Демонстрац
ия
Microsoft TechDays
Сага
Сага координирует множество
сообщений
Привязана к сущности (обычно)
Имеет состояние
Microsoft TechDays
Гибкий хост сервисов
Запуск
Консольное приложение
Служба
Встроенные профили
Lite (Debug)
Integration
Production
Возможность писать свои профили
Microsoft TechDays
Дистрибьютор
Распределяет нагрузку
Выступает как логический подписчик
Делегирует работу нескольким
машинам
Горизонтальное масштабирование
Microsoft TechDays
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S.
and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond
to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Microsoft TechDays