Бизнес-приложение - пессимистичный параллелизм с использованием обмена сообщениями

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

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

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

спасибо Ливен Кардоен

1 ответ

Решение

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

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

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

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

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

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

Другие вопросы по тегам