2013-04-06 02 Евгений Тюменцев. message-oriented middlware

Post on 22-Jun-2015

428 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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Пишите: etyumentcev@tiktokcoach.ruЧитайте: @tiktokcoach

top related