2014-10-23 6 views
0

Я просто читал некоторые ответы на этот вопрос о slow exceptions. Я полностью согласен с идеей, что исключения могут и должны использоваться вместо кодов возврата, несмотря на то, что каждый из них значительно медленнее (хотя и не обязательно заметен).Слишком много исключений для выключателя?

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

Неужели это будет проблемой?

+3

Теперь сравните, сколько времени требуется, чтобы выполнить запрос к сторонней службе с отпечатком, который приносит исключение. – zerkms

+3

И подумайте о том, насколько вы заботитесь о потере производительности, если все уже сломано ... –

+0

@zerkms, это была именно проблема. Время от времени мы сжимали запросы, которые заставили сайт ужасно медленно! То, что у нас сейчас, намного лучше. –

ответ

0

Способ, которым я его вижу, автоматический выключатель в порядке тот, который есть. Кто-то еще (не здесь) предложил реализовать автоматический выключатель без привлечения исключений, чтобы не записывать много материала. Это не кажется мне правильным, и я не мог придумать хороший способ сделать это в целом, поскольку мне нужен автоматический выключатель, который будет использоваться в нескольких сервисах (в настоящее время 2 - методы, которые перехватывают Unity) ,

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