Масштабируемость MSMQ

В статье Проблема с Контролируемыми исключительными ситуациями и в Anders Hejlsberg (разработчик языка C#) собственная речь, существует три главных причины для C#, не поддерживающего контролируемые исключительные ситуации, поскольку они найдены и проверены в Java:

  • Нейтральный на Контролируемых исключительных ситуациях

    “C# в основном тих по проблеме контролируемых исключительных ситуаций. Как только лучшим решением является known—, и доверяйте мне, мы продолжаем думать о it—, мы можем возвратиться и на самом деле поместить что-то на месте. ”

  • Управление версиями с Контролируемыми исключительными ситуациями

    “Adding новое исключение к пункту бросков в новой версии повреждает клиентский код. Это похоже на добавление метода к интерфейсу. После публикации интерфейса это во всех неизменных практических целях, †¦ ”

    , “It забавен, как люди думают, что важная вещь об исключениях обрабатывает их. Это не важная вещь об исключениях. В правильно написанном приложении существует отношение десять одному, по-моему, попытки наконец для попытки выгоды. Или в C#, using операторы, которые похожи на попытку наконец. ”

  • Масштабируемость Контролируемых исключительных ситуаций

    “In, который небольшие, контролируемые исключительные ситуации очень enticing†¦ проблема, начинается, когда Вы начинаете создавать большие системы, где Вы говорите с четырьмя или пятью различными подсистемами. Каждая подсистема выдает четыре - десять исключений. Теперь, каждый раз, когда Вы идете по лестничной структуре агрегирования, у Вас есть эта экспоненциальная иерархия ниже Вас исключений, с которыми необходимо иметь дело. Вы заканчиваете тем, что имели необходимость объявить 40 исключений, которые Вы могли бы выдать. †¦ Это просто воздушные шары из-под контроля. ”

В его статье, “ , Почему не делает C#, имеют спецификации исключения? ”, Anson Horton (Визуальный Диспетчер Программ C#) также перечисляет следующие причины (см. статью для получения дополнительной информации о каждой точке):

  • Управление версиями
  • Производительность и качество кода
  • Непрактичность наличия автора класса дифференцируется между [1 116], проверил , и снял флажок исключения
  • Трудность определения корректных исключений для интерфейсов.

интересно отметить, что C# действительно, тем не менее, поддерживает документацию исключений, выданных данным методом через , тег и компилятор даже заботятся проверять, что тип исключительной ситуации, на который ссылаются, действительно существует. Нет, однако, никакой проверки, осуществленной на сайтах вызова или использовании метода.

можно также хотеть изучить Охотник за Исключением , который является коммерческим инструментом Red Gate Software , который использует статический анализ, чтобы определить и сообщить об исключениях, выданных методом и который может потенциально пойти непойманный:

Охотник за Исключением является новым аналитическим инструментом, который находит и сообщает о наборе возможных исключений, Ваши функции могли бы бросить †“перед ровной поставкой. С ним можно определить местоположение необработанных исключений легко и быстро, вниз к строке кода, который выдает исключения. Как только у Вас есть результаты, можно решить, какие исключения должны быть обработаны (с некоторым кодом обработки исключений), прежде чем Вы выпустите свое приложение на волю.

Наконец, Bruce Eckel , автор [1 110] Взгляды в Java, статья звонила, “ , Java нужны Контролируемые исключительные ситуации? ”, который может стоить считать также, потому что вопрос того, почему контролируемые исключительные ситуации не находятся там в C# обычно, пускает корни в сравнениях с Java.

8
задан 2 October 2009 в 19:59
поделиться

1 ответ

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

Существует ряд очень крупных реализаций, в основном банки, такие как Barclays, используют это, потому что я думаю, между 60-90k настольных компьютеров, но только если он был правильно спроектирован, и каждый из ваших процессоров имеет достаточно памяти, и подходящая пропускная способность сети.

Что касается пропускной способности обмена сообщениями, 2 тыс. Сообщений в день - это ничто. Несколько лет назад я работал в Сити, где одно производное f / x-приложение обрабатывало 1600 сообщений в секунду.

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

Боб.

7
ответ дан 5 December 2019 в 21:20
поделиться