У меня есть четыре службы, работающие на Azure Service Fabric, но две из этих служб зависят от другой, есть ли способ сделать инициализацию службы до тех пор, пока другая служба не объявит об этом готов?Ожидание готовой услуги (Сервисная ткань)
ответ
№ Нет заказа на создание сервиса (услуги могут быть созданы в любое время, а не только во время развертывания с вашей сборки), и что это означает для вашего обслуживания? С нашей точки зрения это означает, что диспетчер отказоустойчивости нашел узлы, которые служба может запускать, и пакеты кода были активированы на этих узлах. Платформа не знает, что ваш код обслуживания делает. С вашей точки зрения, это, вероятно, означает, что «когда он отвечает на мои просьбы» в противном случае это не «готово», который может произойти в любое время в течение всего срока службы сервиса по ряду причин:
- служба только в развернутом виде и ее связь стек не открыл конечную точку еще
- экземпляра службы/копия перемещается и его стек связи вращается обратно на новый узел
- раздел Сервис находится в кворуме потери и не принимать операции записи и т.д.
Это постоянная вещь, которую ваши службы должны быть готовы к работе. Если две из служб не могут выполнять любые, пока они не смогут поговорить с другой службой, тогда они должны опросить эту службу, на которой они зависят, пока она не будет доступна через конечную точку в той службе, которую вы определяете.