Бизнес-приложение - пессимистичный параллелизм с использованием обмена сообщениями - PullRequest
2 голосов
/ 22 марта 2009

Мы используем обмен сообщениями в нашем проекте для реализации пессимистического параллелизма. Это означает, что если обмен сообщениями прекращается (канал отключается), параллелизм отключается.

  • Это делается в других бизнес-приложениях?
  • Вы закрываете приложение (выходите из системы) пользователя, если обмен сообщениями прекращается?

Я больше думаю о сочетании оптимистического и пессимистического параллелизма. Тогда, если пессимистический параллелизм падает, все еще есть резервный оптимистичный параллелизм ...

thx, Ливен Кардоен

1 Ответ

2 голосов
/ 22 марта 2009

Как обычно, я думаю, что ответ зависит от природы бизнес-приложения, которое вы создаете. Какие SLA для вашего приложения? Насколько критически важна миссия?

Если ваша инфраструктура обмена сообщениями выходит из строя, продолжает ли приложение функционировать вне службы блокировки? Если это так, то вы, вероятно, обязаны убедиться, что ваш механизм управления параллелизмом не является единственной точкой отказа.

Кроме того, тема достижения действительно распределенного, отказоустойчивого пессимистического механизма блокировки требует решения проблемы консенсуса . Большинство алгоритмов пессимистической блокировки полагаются на наличие единого сериализованного органа, который может отвечать на запросы на блокировки (т. Е. Есть таблица «блокировки» или, возможно, сервер одноэлементной блокировки).

Такой дизайн имеет единую точку отказа, написанную на всем протяжении. Чтобы ответить на ваш первый вопрос - да, я видел, как бизнес-приложения используют обмен сообщениями для обеспечения пессимистичной блокировки. Однако полное решение проблемы отказоустойчивости кажется излишним для большинства бизнес-приложений, с которыми я столкнулся.

Оптимистическое управление параллелизмом не имеет этой проблемы по своей природе, поэтому оно обычно предпочитается в распределенных отказоустойчивых приложениях. Тем не менее, я понимаю, что бизнес-требования часто побеждают простоту реализации.

Если тема вас интересует, Google опубликовал статью об их службе пухлой блокировки , в которой используется протокол согласия Paxos .

...