2013-07-06 3 views
0

Я хочу сделать веб-сервис, который является высоконадежным для стороннего веб-сервиса. Высокая надежность здесь означает, что любой отдельный запрос от сторонней веб-службы будет успешно обработан моей веб-службой. Сторонняя служба не имеет механизма повтора при неудавшемся запросе и не может изменить свой формат запроса (http POST с полями и значениями в теле).Высокая надежность веб-сервиса

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

Я рассматриваю возможность использования чего-то вроде Amazon SQS, который получает запрос от стороннего запроса и передает его на мою веб-службу, поскольку SQS имеет механизм повтора. Однако трудности здесь в SQS, по-видимому, требуют, чтобы контент был заполнен параметром «Сообщение», и это не может быть достигнуто службой сторонних разработчиков.

Может ли быть решение?

ответ

1

Единственное реальное решение, обеспечивающее завершение запроса, о котором я могу думать, - это добавить оболочку к сторонней веб-службе, чтобы она имела механизм повтора. Любое другое решение, включая HA, будет иметь точку отказа. Учтите, что если служба Amazon SQS завершится с ошибкой, у вас все равно будет сторонний веб-сервис, который будет запрашивать информацию у нисходящего сервиса и терпеть неудачу.

1

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

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

Смежные вопросы