2013-04-06 02 Евгений Тюменцев. message-oriented middlware
TRANSCRIPT
01 TIKTOKCOACH.COM
Message-Oriented Middleware
HWdTech.DS
02 TIKTOKCOACH.COM
Докладчик
Тюменцев Евгений
13 лет преподаю – кафедра МЛЛП ИМИТ
Управляющий партнер компании “Тик-Так Коуч”
03 TIKTOKCOACH.COM
Многопоточность?Это Вам не это!
Проблема
04 TIKTOKCOACH.COM
Нужны спецы
05 TIKTOKCOACH.COM
Скучно и нудно
06 TIKTOKCOACH.COM
Есть идея
07 TIKTOKCOACH.COM
Вдохновители
08 TIKTOKCOACH.COM
Благодарности
09 TIKTOKCOACH.COM
Цель
Как есть
Архитектура
Взаимодействие
Измеримость
Оптимизация
10 TIKTOKCOACH.COM
Архитектура
11 TIKTOKCOACH.COM
Общая схема
12 TIKTOKCOACH.COM
Message Bus
• MessageBus.Send(message);
• MessageBus.Join(job);
13 TIKTOKCOACH.COM
Jobpublic class EchoJob : IJob{ [ChannelEndpointHandler("Echo")] public void Handle(IMessage message) { MessageBus.TrySendSuccessResponse(message); }}
14 TIKTOKCOACH.COM
Синхронная обработка
Внутренний запрос
Формирование ответа
15 TIKTOKCOACH.COM
Асинхронная обработка[ChannelEndpointHanlder(ChannelsLoaderLocal,
MessageType="Messages.Loader.Load")]public void LoadMessageHandler(IMessage message){ // … MessageBus.Send( MessagesFactory.Instance.CreateMessage(“Messages.Config.Get”,ChannelsLoaderLocal) );}[ChannelEndpointHanlder(ChannelsLoaderLocal,
MessageType = "Messages.Config.GetResponse")]public void ConfigGetResponseHandler(IMessage response){ // …}
16 TIKTOKCOACH.COM
Взаимодействие
17 TIKTOKCOACH.COM
ЖЦ данных
Ввод Предварительная обработка
Подготовка к выдаче Показ результатов
Запрос на внесение данных
Запрос на выдачуданных
Ответ на запрос о внесении данных
Ответ на запрос о выдаче данных
Благоприятный момент времени
18 TIKTOKCOACH.COM
Борьба за надежность
Если Ваша системаработает только в 1%случаев, то как еепревратить в системусо степенью надежности 99%?
19 TIKTOKCOACH.COM
Все просто
P(успеха) = 0.01, => P(1 неудачи) = 0.99
P(n неудач) = P(1 неудачи)^n
459 попыток
20 TIKTOKCOACH.COM
Message Map
Job1 Job2 … JobN
21 TIKTOKCOACH.COM
Check Point
CP1 Job … CPN
Ответ на входящий
запрос
22 TIKTOKCOACH.COM
Document StorageДокумент в виде JSONFull Text SearchFiltersRangesTagsOrders
23 TIKTOKCOACH.COM
Scheduler
Последовательности Стратегии обработки ошибок
24 TIKTOKCOACH.COM
Что еще?• Визуальный интерфейс– Информация о сервере– Маршрутизация между серверами
• Библиотека Job’ов• Конфигурирование• Миграция Job’ов• Распределенное тестирование
25 TIKTOKCOACH.COM
Задачи
• Workfow• Зависимости между Job’ами• Упростить написание тестов
26 TIKTOKCOACH.COM
Спасибо
Тюменцев Евгений
Звоните: +7 913 150 22 04Пишите: [email protected]Читайте: @tiktokcoach