2015-09-09 2 views
3

Пожалуйста, помогите мне узнать, есть ли опция в лазурной ткани для задержки депровизации? У меня есть приложение для микросервиса, размещенное в ткани, которое распространяется в разных узлах в своих экземплярах. Если я попытался отключить/отключить услугу с портала, смогите внутренняя структура сервиса проверить, не происходит ли какая-либо транзакция в каком-либо экземпляре или нет, если она занята, будет ли она ждать завершения? Также хочу знать, если Microsoft не предоставляет такую ​​услугу, есть ли у нас команда powershell для проверки статуса экземпляра?Azure Service Fabric

Благодаря

+0

В дополнение к ответу tyadams, мы считаем полезным скопировать ссылку на cancelationToken, данную методу RunAsync, и использовать это во всех наших методах async. Таким образом, по крайней мере, мы можем изящно закрыть любые действия, когда ткань закрывает службу. –

ответ

3

Я предполагаю, что «Отрыв/Службы высвобождения неиспользуемых от портала» вы имеете в виду удаление услуги через веб-приложение Service Fabric Explorer (возможно, через ссылку вытекало из портала). Пожалуйста, исправьте меня, если это не так.

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

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

  1. Последняя операция клиент может разрушаться из-за удаления гонки и отмена разрешения на чтение/запись
  2. Каждая последующая операция клиент потерпит неудачу из-за на службу уже не существующего

или

  1. последней операции клиент будет успешным из-за удаления задерживается
  2. Каждая последующая операция клиент будет разрушаться из-за службы больше не существующих

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

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