Вопросы с тегами [service-fabric]

0

голосов
0

ответ
2

Просмотры

Отладка приложений тканевых служб на удаленном в локальной группе по VS 2019

Машина развития не имеет достаточно возможностей для размещения и запуска кластера Service Fabric на той же машине, где установлена ​​VS 2019. Таким образом, возможный обходной путь будет имеющим кластер, созданный в локальной сети (не Azure) и отладить его удаленно. Является ли это возможным сценарий, и если да, то как мы можем настроить VS 2019 удаленно отлаживать приложение?
Arash
1

голосов
0

ответ
197

Просмотры

Сервис Ткань становится недоступным после обновления до последней (6.1.456.9494)

У меня есть два основных симптомов более серьезной проблемы. Если я отладка приложения в визуальной студии каждый раз в то время я буду иметь его на точке останова и обслуживание будет просто близко. Вот журнал, когда он «падает» ВНИМАНИЕ: Не удалось связаться с Naming Service. Попытка связаться отказоустойчивого диспетчера службы ... ВНИМАНИЕ: Не удалось связаться отказоустойчивого менеджера, Попытка связаться с ФМП ... ВНИМАНИЕ: Не удалось связаться отказоустойчивого менеджера, Попытка связаться с FMM ... Connect-ServiceFabricCluster: Не удается пинговать любой из предоставляемой услуги Тканевые шлюза конечные точки. В строке: 1 знак: 8 + [пустота] (Connect-ServiceFabricCluster); Import-Module «C: \ Program Files ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [ Connect-ServiceFabricCluster], FabricTransientException + FullyQualifiedErrorId: TestClusterConnectionErrorId, Microsoft.ServiceFabric.Powershell.ConnectCluster ВНИМАНИЕ: Невозможно проверить подключение к кластеру Service Fabric. Тест-ServiceFabricClusterConnection: экземпляр соединения кластера равна нулю В C: \ Program Files \ Microsoft SDKs \ Service Fabric \ Tools \ PSModule \ ServiceFabricSDK \ Get-ServiceFabricApplicationStatus.ps1: 27 символ: 16 + [пустота] (Test-ServiceFabricClusterConnection) + ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ResourceUnavailable: (:) [Тест-ServiceFabricClusterConnection], NullReferenceException + FullyQualifiedErrorId : GetClusterConnectionErrorId, Microsoft.ServiceFabric.Powershell.TestClusterConnection Закончено выполнение сценария 'Get-ServiceFabricApplicationStatus'. Время, прошедшее: 00:02:04. 7891918 Программа '[27216] program.exe' завершился с кодом 0 (0x0). Connect-ServiceFabricCluster: Не удается пинговать любой из предоставленных оконечных шлюзов Service Fabric. В строке: 1 знак: 8 + [пустота] (Connect-ServiceFabricCluster); Import-Module «C: \ Program Files ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [ Connect-ServiceFabricCluster], FabricTransientException + FullyQualifiedErrorId: TestClusterConnectionErrorId, Microsoft.ServiceFabric.Powershell.ConnectCluster ВНИМАНИЕ: Невозможно проверить подключение к кластеру Service Fabric. Тест-ServiceFabricClusterConnection: экземпляр соединения кластера равна нулю В C: \ Program Files \ Microsoft SDKs \ Service Fabric \ Tools \ PSModule \ ServiceFabricSDK \ Get-ServiceFabricApplicationStatus.ps1: 27 символ: 16 + [пустота] (Тест-ServiceFabricClusterConnection) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ResourceUnavailable : (:) [Тест-ServiceFabricClusterConnection], NullReferenceException + FullyQualifiedErrorId: GetClusterConnectionErrorId, Microsoft.ServiceFabric.Powershell.TestClusterConnection Закончено выполнение сценария 'Get-ServiceFabricApplicationStatus'. Время истекло: 00: 02: 04.7166263 После возможно через час или два, имеющих службы ткани открыть кластер перестает отвечать на запросы, и я не в состоянии развернуть любое приложение, пока не сбросите кластера. Журналы просто постоянно говорят: Начало выполнения скрипта «Get-ServiceFabricApplicationStatus». Закончено выполнение сценария 'Get-ServiceFabricApplicationStatus'. Я также не смог открыть диспетчер службы ткани через иконку в панели задач, но URL-адрес HTTP: // локальный: 19080 / Проводник по-прежнему работает. Запуск: C: \ Program Files \ Microsoft SDKs \ Service Fabric \ ClusterSetup \ CleanCluster.ps1 кажется, чтобы сбросить его просто отлично, и он снова работает в течение нескольких часов. До (предположительно) не попадает в точку ниже, где она исчерпывает соединений и все идет не так. Только журналы я могу найти на этом являются: тысячи строк этого: локального хоста: 19000-127.0.0.1: 59598: не удалось найти соединения 1eedf052ba0 обновить экземпляр клиента превысил лимит подключения: TARGET = 127.0.0.1: 59598 макс = 1000 локальный: 19000-127.0.0.1: 59597: не удалось найти соединения 1eedf055db0 обновить экземпляр Предупреждение 2/26/2018 12:27:11 PM Microsoft-Service Fabric 57089 EntreeServiceProxy Предупреждение 2/26/2018 12:27: Реплика было несколько неудач во время открытой на _Node_0. -2147467259 Для получения дополнительной информации см: http://aka.ms/sfhealth Любые советы о том, как устранить эту проблему ткани службы?
BenM
1

голосов
1

ответ
464

Просмотры

Azure Service Fabric и управляемые идентичностей обслуживания

Я об изучении использования MSI внутри службы ткани. Я не могу включить MSI на шкале Установить через ARM - не проблема там. Моя служба Fabric кластера работает множество приложений, и многие из них имеет свой собственный App Регистрация. На данный момент мы сохранили ClientId / секрет в appmanifest для этих приложений. С MSI можно хранить учетные данные в keyvault и принести ClientId / секрет, используемый для каждого приложения, но это, кажется, вроде неправильно. Теперь мой вопрос: Можно ли создать какой-то делегации между регистрацией приложений MSI и приложений, работающих на службе ткани? Просто, чтобы избежать клиента секреты хранятся на всех
Casper Jensen
1

голосов
1

ответ
77

Просмотры

Configuring Azure ServiceFabric for development lifecycle - how to parameterize host name?

Что такое хороший способ для управления развертыванием изменений коды в Dev, Test и Prod среды в Azure? Сайт Azure / Service Fabric обеспечивает статью для указания номера порта, используя параметры под How-гид - Управление жизненного цикла приложений (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-how -в-указать порт номер-используя-параметры), но я не уверен, как один управляют именами хостов - есть родственное свойство имени хоста, которое может быть включено в публикации профиля .xml файл (например, Cloud.xml) ? Справочная информация: Я мигрируют из себя, размещенного на Предпосылка WCF приложение работает как служба Windows и используя WebHttpBinding с HTTP и HTTPS конечных точек (использует T4 шаблоны файла конфигурации, чтобы определить имя хоста и номер порта, в зависимости от окружающей среды). Я' м мигрирующие это в приложение Azure ServiceFabric WcfCommunicationListener (по аналогии с образцом здесь: https://github.com/loekd/ServiceFabric.WcfCalc) .... внутренний запечатанный класс ServiceFabricWcfService: StatelessService {общественного ServiceFabricWcfService (StatelessServiceContext контекст): база (контекст), защищенный переопределение IEnumerable CreateServiceInstanceListeners () {выход возвращают новый ServiceInstanceListener (CreateRestListener); } Частная ICommunicationListener CreateRestListener (StatelessServiceContext контекст) {вар хост = context.NodeContext.IPAddressOrFQDN; вар endpointConfig = context.CodePackageActivationContext.GetEndpoint ( "ServiceEndpoint"); вар порт = endpointConfig.Port; Схема вар = endpointConfig.Protocol.ToString (); вар = строка URI. Формат (CultureInfo.InvariantCulture, "{0}: // {1}: {2} / вебхостинг /", схема, хост, порт); вар слушатель = новый WcfCommunicationListener (контекст, новая JsonServicePerCall (), новый WebHttpBinding (WebHttpSecurityMode.None), новый EndpointAddress (URI)); вар ер = listener.ServiceHost.Description.Endpoints.Last (); ep.Behaviors.Add (новый WebHttpBehavior ()); вернуть слушателя; }} Как вы можете видеть, имя хоста получается из NodeContext в StatelessServiceContext в - есть хороший способ, чтобы установить это, чтобы предназначаться различные имена хостов для каждой среды? Мои клиенты должны быть в состоянии сделать HTTP / HTTPS вызовов на основе имени хоста, чтобы определить, в каких условиях они соединяются. Спасибо! вар слушатель = новый WcfCommunicationListener (контекст, новая JsonServicePerCall (), новый WebHttpBinding (WebHttpSecurityMode.None), новый EndpointAddress (URI)); вар ер = listener.ServiceHost.Description.Endpoints.Last (); ep.Behaviors.Add (новый WebHttpBehavior ()); вернуть слушателя; }} Как вы можете видеть, имя хоста получается из NodeContext в StatelessServiceContext в - есть хороший способ, чтобы установить это, чтобы предназначаться различные имена хостов для каждой среды? Мои клиенты должны быть в состоянии сделать HTTP / HTTPS вызовов на основе имени хоста, чтобы определить, в каких условиях они соединяются. Спасибо! вар слушатель = новый WcfCommunicationListener (контекст, новая JsonServicePerCall (), новый WebHttpBinding (WebHttpSecurityMode.None), новый EndpointAddress (URI)); вар ер = listener.ServiceHost.Description.Endpoints.Last (); ep.Behaviors.Add (новый WebHttpBehavior ()); вернуть слушателя; }} Как вы можете видеть, имя хоста получается из NodeContext в StatelessServiceContext в - есть хороший способ, чтобы установить это, чтобы предназначаться различные имена хостов для каждой среды? Мои клиенты должны быть в состоянии сделать HTTP / HTTPS вызовов на основе имени хоста, чтобы определить, в каких условиях они соединяются. Спасибо! вернуть слушателя; }} Как вы можете видеть, имя хоста получается из NodeContext в StatelessServiceContext в - есть хороший способ, чтобы установить это, чтобы предназначаться различные имена хостов для каждой среды? Мои клиенты должны быть в состоянии сделать HTTP / HTTPS вызовов на основе имени хоста, чтобы определить, в каких условиях они соединяются. Спасибо! вернуть слушателя; }} Как вы можете видеть, имя хоста получается из NodeContext в StatelessServiceContext в - есть хороший способ, чтобы установить это, чтобы предназначаться различные имена хостов для каждой среды? Мои клиенты должны быть в состоянии сделать HTTP / HTTPS вызовов на основе имени хоста, чтобы определить, в каких условиях они соединяются. Спасибо!
Search4Sound
1

голосов
1

ответ
137

Просмотры

Диагностирование «System.Fabric.FabricNotPrimaryException»

[Обновление ниже] Мы встретив проблему посредством «System.Fabric.FabricNotPrimaryException» выбрасывается очень регулярно от нового сервиса, который мы разрабатываем. Поток данных: Сообщение публикуется в отдельный раздел на моддинг уникального идентификатора и поиск правильного идентификатора раздела. Это подтверждается, чтобы работать правильно, поэтому мы знаем, что данные идут на правильный раздел. Сообщение хранится в надежной очереди для дальнейшей обработки. Этот шаг, как представляется, правильно работать, и мы не получили исключения SF на данном этапе сообщение из очереди и передан в обработчик, который решает, нужно ли состояние в ReliableDictionary быть обновлен. Если это произойдет, то обновление обрабатывается с использованием «Рети» помощника в рамках транзакции. Это где происходит ошибка, и выбрасывается обратно в основной класс обслуживания Трассировка конкретного экземпляра исключения через поток показывает, что: Сообщение достигнуто правильное разбиение сообщений был добавлен в надежное хранение на ограждающей сообщение был обработан FabricNotPrimaryException был выброшен при попытке обновить существующий государственный идентификатор раздела и имя узла регистрируется с записанным исключением и матч детали первичной копии для ожидаемого раздела при просмотре кластера SF. Этот последний пункт делает «FabricNotPrimaryException» очень запутанной для меня, так что я был интересно, если есть больше информации, что я могу войти окончательно доказать, является ли основной причиной или нет? Кроме того, существуют ли другие сценарии, бар очевидным, что причиной этого исключения быть выброшен? Это стек из примера, за исключением: System.Fabric. CoreEngineProcessor + d__25.MoveNext (Clients.CoreEngine.Generic, Version = 1.0.0.0, культура = нейтральной, PublicKeyToken = NULL) Дополнительная информация: 24/04/2018 Нам удалось воссоздать это на локальном кластере с помощью отладчика прилагается. Кажется, что: Flow отлично работает на первоначальном «чистом» развертывание, независимо от нагрузки После кластера восстановить баланс (срабатывает через обновление сервиса на Лазурном кластере и перезапуск узлов на локальном кластере) спорадические исключения NotPrimary начинают вышвырнуто. Они только кажутся броском при вызове «AddOrUpdate» на надежный словарь - пишет надежной работы очереди, как и ожидалось. При проверке одного из этих исключений в отладчике он показывает реплику как первичные и PartitionInfo.ReadStatus, как сами собой разумеющиеся и то же самое для PartitionInfo. WriteStatus После того, как кластер отремонтировал себя и менеджер кластера показывает все разделы в здоровом состоянии, большой процент будущих сообщений вызывает такое же исключение с точно таким же состоянием. Это стек от одного из этих исключений, захваченных в качестве события: "Timestamp": "2018-04-24T18: 03: 02,4053087 + 01: 00", "ProviderName": "Клиенты-CoreEngineSvc-SAMPLE_CLIENT", "Id": 8 , "Сообщение": "CoreEngineProcessor - OnProcessorMessage," Исключение: На процессоре: [Основные] ReadStatus: [предоставленные] WriteStatus: [Конечно]..", "ProcessId": 20732, "Уровень": "Ошибка",«Ключевые слова ": "0x0000F00000000080", "EventName": "ServiceException", "ActivityID": нулевой," HandleNonSuccessAndDebuggerNotification (целевая задача) на System.Runtime.CompilerServices.TaskAwaiter.GetResult () в Clients.CoreEngine.Generic.CoreEngineProcessor.d__28.MoveNext () " "Информация":" На процессоре: [Первичный]. ReadStatus: [Конечно]. WriteStatus: [Конечно]», "CorrelationId": "00000000-0000-0000-0000-000000000000", "fixtureId": 8173405
Alex Zevenbergen
1

голосов
1

ответ
230

Просмотры

Обновление Azure Service Fabric кластера

У меня есть кластер в лазури и не удалось обновить автоматически, так что я пытаюсь обновление вручную. Я попытался с помощью портала, он потерпел неудачу, так что я стартовал обновление с помощью PS, это не удалось также. Обновление начинается тогда просто сидит на «UpdatingUserConfiguration», а затем через час или около того не может с тайм-аут. Я удалил все типы приложений и проверить мои сертификаты на «СЕТЬ SERVCIE». Кластер 5 VM тип одного узла, Windows. Ошибка Set-AzureRmServiceFabricUpgradeType: Код: ClusterUpgradeFailed, сообщение: Кластер Ошибка обновления. Код причины: 'UpgradeDomainTimeout', Upgrade Прогресс: «{ "upgradeDescription": { "targetCodeVersion": "6.0.219.9494",» targetConfigVersion ":" 1" , "upgradePolicyDescription": { "upgradeMode": "UnmonitoredAuto", [{ "Имя узла": "_ mstarsf10_1", "upgradePhase": "PreUpgradeSafetyCheck", "pendingSafetyChecks": [{ "вид": "EnsureSeedNodeQu Orum"}]}]}}». Любые идеи о том, что я могу сделать об ошибке «EnsureSeedNodeQuorum»? [{ "Имя узла": "_ mstarsf10_1", "upgradePhase": "PreUpgradeSafetyCheck", "pendingSafetyChecks": [{ "вид": "EnsureSeedNodeQu Orum"}]}]}}». Любые идеи о том, что я могу сделать об ошибке «EnsureSeedNodeQuorum»?
acart
1

голосов
1

ответ
168

Просмотры

Service Fabric VM с использованием на локальных DNS-серверах не решение

У меня есть экземпляр Service Fabric работает в лазури с несколькими виртуальными машинами (SFVM1, SFVM2 и т.д.). Сервис Fabric подключен к VNET, который имеет виртуальный сетевой шлюз, который подключается к сети локальных. Есть также на помещения DNS-серверы (перечислены в VNET), которые обрабатывают перевод названия на локальных серверах. В качестве доказательства концепции, у меня есть автономный Azure VM (POCVM) на том же VNET, и может успешно пинговать «сервер на-прем в вопросе» (OnPremServer) по имени, и он решает его IP-адрес, и я получаю ответы. Тем не менее, я нахожу, что после того, как служба ткани все делается инициализацией, и я удаленный в SFVM1, и я пытаюсь пинговать OnPremServer по имени, имя не решает. Странная вещь я могу пинговать IP адрес OnPremServer и получить ответы. Для меня это казалось настройки DNS находятся в неисправном состоянии на виртуальной машине, и после выполнения IpConfig \ все, что я считаю, что пользовательские записи DNS, которые перечислены в VNET не перечислены в DNS-серверах здесь. Из SFVM1, я могу также успешно пинговать IP-адрес на-прем DNS-серверов. Я попытался отключить / повторное включение сервисного Fabric службы DNS не дали никаких результатов и не вез чистящее полотно для ключей. Краткий сделать скрипт, который устанавливает DNS-сервера при запуске виртуальной машины, описанном в этом так посте, я не знаю, что еще делать. Если не Fabric служба ВМ подобрать пользовательские записи DNS из VNET? Если это так, любая идея, что не так? Если нет, что правильный способ сделать это? Спасибо заранее! Я могу также успешно пинговать IP-адрес на-прем DNS-серверов. Я попытался отключить / повторное включение сервисного Fabric службы DNS не дали никаких результатов и не вез чистящее полотно для ключей. Краткий сделать скрипт, который устанавливает DNS-сервера при запуске виртуальной машины, описанном в этом так посте, я не знаю, что еще делать. Если не Fabric служба ВМ подобрать пользовательские записи DNS из VNET? Если это так, любая идея, что не так? Если нет, что правильный способ сделать это? Спасибо заранее! Я могу также успешно пинговать IP-адрес на-прем DNS-серверов. Я попытался отключить / повторное включение сервисного Fabric службы DNS не дали никаких результатов и не вез чистящее полотно для ключей. Краткий сделать скрипт, который устанавливает DNS-сервера при запуске виртуальной машины, описанном в этом так посте, я не знаю, что еще делать. Если не Fabric служба ВМ подобрать пользовательские записи DNS из VNET? Если это так, любая идея, что не так? Если нет, что правильный способ сделать это? Спасибо заранее! s подобрать пользовательские записи DNS из VNET? Если это так, любая идея, что не так? Если нет, что правильный способ сделать это? Спасибо заранее! s подобрать пользовательские записи DNS из VNET? Если это так, любая идея, что не так? Если нет, что правильный способ сделать это? Спасибо заранее!
dasch88
1

голосов
0

ответ
72

Просмотры

Обновление сертификатов во всех случаях масштабного набора VM (услуга ткань)

Я использую Service Fabric в Azure и имею масштабный набор Azure VM, которая инициализированный с помощью шаблона и извлекает все необходимые сертификаты от Azure Key Vault и устанавливает сертификат в хранилище сертификатов экземпляров. Некоторые сертификаты должны быть возобновлены periodicaly, поэтому я заменить сертификат в Key Vault с новым сертификатом. Но как я могу обновить существующие экземпляры с новыми сертификатами? Нужно ли мне повторно изображение всех экземпляров или есть лучший способ обновить сертификаты?
Ramon de Klein
1

голосов
1

ответ
78

Просмотры

Не могу войти службы princible из VSTS, но работает в государственном успехе TFS и Azure Portal

Я сижу в проекте, где я буду переходить от TFS к VSTS поэтому мы имеем определение рабочего релиза. Но когда я пытаюсь развертывания службы ткани кластера я получаю следующее сообщение об ошибке: 2018-08-28T09: 02: 59.8922249Z ## [ошибка] Произошла ошибка при попытке получить маркер в Active Directory Azure. Убедитесь, что конечная точка службы настроена должным образом с действительными учетными данными. Сообщение об ошибке: Исключение вызова «AcquireToken» с «3» аргумент (ы): «AADSTS50079: Из-за изменения конфигурации, сделанные администратором, или потому, что вы переехали на новое место, вы должны зарегистрироваться в многофакторной аутентификации для доступа ' . <принцип обслуживания Id>»Трассировка ID: <guid1 здесь> Корреляция ID: <guid2 здесь> Тогда я иду к лазурным портала -> AAD -> Вход -> посмотреть мой конкретный знак в (на основе корреляции Id) и там заявить, что статус входа в успехе Учитывая это работает для нашего экземпляра TFS я предполагаю, что принцип обслуживания правильно настроен. Но так как сборки / развертывания агентов теперь на VM в лазурь, а не на прем для TFS, есть все, что мне нужно изменить? Движение должно быть в порядке, я могу перейти к HTTPS-адресу в кластер из VM с агентами. Я попытался Google, но ни к какому успеху и надеюсь, кто-то может мне точку в правильном направлении, куда смотреть. И на портале «MFA требуется» нет, поэтому несколько фактор не должен быть neccesary. Но так как сборки / развертывания агентов теперь на VM в лазурь, а не на прем для TFS, есть все, что мне нужно изменить? Движение должно быть в порядке, я могу перейти к HTTPS-адресу в кластер из VM с агентами. Я попытался Google, но ни к какому успеху и надеюсь, кто-то может мне точку в правильном направлении, куда смотреть. И на портале «MFA требуется» нет, поэтому несколько фактор не должен быть neccesary. Но так как сборки / развертывания агентов теперь на VM в лазурь, а не на прем для TFS, есть все, что мне нужно изменить? Движение должно быть в порядке, я могу перейти к HTTPS-адресу в кластер из VM с агентами. Я попытался Google, но ни к какому успеху и надеюсь, кто-то может мне точку в правильном направлении, куда смотреть. И на портале «MFA требуется» нет, поэтому несколько фактор не должен быть neccesary.
Pierre
1

голосов
1

ответ
89

Просмотры

Fetch FABRIC_E_TIMEOUT ошибки для SwaggerUI / swagger.json

Я разрабатываю Azure Service Service Fabric, в котором я использовал Swashbuckle.AspNetCore построить список API. Я использую следующий код в моем файле Startup.cs В ConfigureServices (услуги IServiceCollection) services.AddSwaggerGen (с => {c.SwaggerDoc ( "Backend", новая информация {Title = "Мой Backend", Version = «v1.0 "});});` А (Настройка IApplicationBuilder приложения, IHostingEnvironment ENV) `app.UseSwagger (с => c.PreSerializeFilters .Add ((чванство, httpReq) => swagger.Host = httpReq.Host.Value)) ; app.UseSwaggerUI (с => c.SwaggerEndpoint ( "/ MyApp.Fabric / MyApp.Backend / чванство / Backend / swagger.json", "Backend")); `Вот, потому что я разрабатываю службы SF, я использовал обратный прокси с конфигурацией чванство конечной точки. Теперь то же самое работает с другими моими услугами, кроме одного. У меня есть один и тот же код и те же версия Swashbuckle.AspNetCore NuGet используется во всех моих услугах, которое 3.0.0 При попытке доступа к SwaggerUI для этой службы, я получаю следующее сообщение об ошибке Может кто-нибудь, пожалуйста, помогите мне в этом? Я пытался, но не мог получить подходящее решение ..
starklord
1

голосов
1

ответ
172

Просмотры

Azure ткань службы с Ocelot API шлюза 404 ошибок

Я создал Azure приложения службы ткани с несколькими лицами без и с состоянием услуг. Все мои statefull услуги доступны через Web Api лица без обслуживания. Теперь я добавил Ocelot шлюза API другой безгосударственной службу Web API, и я хочу, чтобы получить доступ ко всем своим услугам только из этого шлюза. Теперь, когда я пытаюсь получить доступ к сервисам из службы шлюза API, это дает мне 404. Ocelot конфигурацинный { «перенаправляет»: [{ «DownstreamPathTemplate»: «/ апи / продукта / семя», «DownstreamScheme»: «HTTP», "UpstreamPathTemplate": "/ апи / продукта / рандомизации", "UpstreamHttpMethod": [ "Получить"], "DownstreamHostAndPorts": [{ "Host": "HTTP: // локальный: 8314"}], "
tuhin
1

голосов
0

ответ
48

Просмотры

Есть простой способ использовать DI в Actor Service Fabric .Net?

Есть простой способ использовать DI в Actor Service Fabric .Net? Что-то вроде AddScoped (), которая доступна в Service Fabric Stateful услуг, что позволяет мне вводить. Мне нужен новый конструктор для моего актера и использование actorServiceFactory не будет делать, потому что я не могу создать объект Repo, мне нужно, чтобы быть введен.
M.F.
1

голосов
0

ответ
63

Просмотры

Azure Service Fabric (OneBox) постоянно не удалось DnsService

Я использую OneBox Лазурного Service Fabric на моей машине развития для разработки приложения службы ткани. Независимо от того, что я делаю, ткань: / System / DnsService всегда имеет ошибку. Служба указана в ткани Service Explorer следующим образом ... (ошибка) системы (ошибка) ткань: / System / DnsService (ошибка) f47a6d0d-3919-4683-9f79-747b61d8ce2b (предупреждение) _Node_0 Выбор входа _Node_0 имеет следующее предупреждения ... Нездоровое событие: SourceId = 'System.FabricDnsService' Свойство = 'гнездо', HealthState = 'Внимание', ConsiderWarningAsError = ложь. DnsService UDP слушатель не может начать. Пожалуйста, убедитесь, что нет процессов прослушивания на DNS порт 53. Список процессов прослушивает порт DNS: UDP 0.0.0.0:53 *: * 7472 Я перезагрузил машину, я «Reset Local Cluster», я переключился на и от установки «5 Узла». Ничто не меняет тот факт, DnsService постоянно имеет вышеуказанную проблему. Есть идеи?
Phil Wright
1

голосов
0

ответ
67

Просмотры

Служба Fabric Mesh не удалось запустить пример приложения после развертывания

Я пытаюсь получить образец ткани Mesh Service приложение, развернутое в Azure. Развертывание показывает, как быть успешным, но я не могу получить доступ к приложению, когда он развернут. Единственное доказательство, которое я могу найти, что есть проблема, является собственностью «UnhealthyEvaluation» возвращается при запросе приложения с помощью PowerShell CLI. Вот что это показывает. PS C: \ WINDOWS \ system32> аз сетки приложение показать --resource-группы прото --name todolistapp-CsProto { "debugParams": нулевой, "Описание": "Описание todolistapp.", "Диагностика": нулевая, "healthState" : "Внимание", "идентификатор": "/subscriptions/2224ba65-ee14-4fa5-b62c-f586d05b6bb5/resourcegroups/Proto/providers/Microsoft.ServiceFabricMesh/applications/todolistapp-CsProto", "место": "eastus", Имя_приложения = 'ткань: / todolistapp-CsProto', ServiceManifestName = 'Service1Pkg', ServicePackageActivationId = '5a5b1584-ea7d-46bf-9ce2-ad56b2c843ff', NodeName = '_ Dev_1', AggregatedHealthState = 'Внимание' \ г \ п нездоровое событие.: SourceId = 'System.Hos Ting', свойство = 'CodePackageActivation: Service1: Entrypoint', HealthState = 'Внимание', ConsiderWarningAsError = ложь. «Была ли ошибка во время CodePackage activation.System.Fabric.FabricException (-2147017731) \ г \ nFailed для начала контейнера. ИмяКонтейнер = SF-155-f0b08730-815a-421c-a312-0334c3f9b11c_5a5b-ea7d тысяча пятьсот восемьдесят-четырь-46bf-9ce2-ad56b2c843ff, ApplicationID = SingleInstance_148_App155, Имя_приложение = ткань: / todolistapp-CsProto. DockerRequest вернулся StatusCode = InternalServerError с ResponseBody = "сообщение \" {\: \»
backtobasics573
1

голосов
0

ответ
35

Просмотры

Тест-ServiceFabricApplicationPackage Settings.xml уже существует

Я использую SDK 3.3.622.9590 и возникли некоторые трудности развертывается мое приложение с помощью PowerShell. Ошибка, как следующим образом: Test-ServiceFabricApplicationPackage: файл 'C: \ Users \ ххх \ A ppData \ Local \ Temp \ TestApplicationPackage_740405352 \ n2r3lbmn.zlv \ Release (имя службы) \ Config \ Settings.xml' уже существует. В C: \ Program Files \ Microsoft SDKs \ Service Fabric \ Tools \ PSModule \ ServiceFabricS DK \ Публикация-NewServiceFabricApplication.ps1: 163 голец: 38 + ... tionSuccess = (Test-ServiceFabricApplicationPackage $ AppPkgPathToUse) Моя структура приложения, как это Applicaiton Папка Service 1 Код конфигурации Settings.xml ServiceManifest.xml Service 2 ... Мне удалось дважды развернуть, но иногда это все не удалось с такой же ошибкой. Я новичок в SF и PowerShell. Может кто-то пожалуйста, помогите мне, и мне точку в правильном направлении? Спасибо!
Randy
1

голосов
1

ответ
35

Просмотры

Fastest way to store a file to stream from Service Fabric application?

Сценарий: Я хочу, чтобы тканевое приложение службы, которая может вернуть файл при запросе, как [GET] / {FILEID} / чтения. Допустим, что FILEID связано с CUSTOMERID, например ======================= CUSTOMERID | FILEID ======================= 1 | 1 ----------------------- 1 | 2 ----------------------- 1 | 3 ----------------------- 2 | 4 ----------------------- 2 | 5 Эти различные комбинации (нет 2 fileIds для одной и той же CustomerId). Я хочу CUSTOMERID быть единицей масштаба. Другими словами, нагрузка на CUSTOMERID = 326 не должно влиять на производительность CUSTOMERID = 913842, но нагрузка на CUSTOMERID = 326 может повлиять на свою собственную работу. Я не то, что опыт в понимании отслеживания состояния услуг, надежные актеров, partinioning и т.п. I» интересно, если я могу достичь чего-то, где эти файлы будут храниться на физических дисках узлов, для прямого доступа. Это будет выглядеть примерно так: NODE0 Node1 Node2 node3 Node4 \ / | \ / Customer1 Customer2 Customer3 \ \ | | | [GET] / 3 / поток и файл 3 может храниться непосредственно на диске NODE1 по адресу E: \\ файлы \ foo.txt так что он может быть потоковым быстро. Это возможно даже, или, что лучше? NODE0 Node1 Node2 node3 Node4 \ / | \ / Customer1 Customer2 Customer3 \ \ | | | [GET] / 3 / поток и файл 3 может храниться непосредственно на диске NODE1 по адресу E: \\ файлы \ foo.txt так что он может быть потоковым быстро. Это возможно даже, или, что лучше? NODE0 Node1 Node2 node3 Node4 \ / | \ / Customer1 Customer2 Customer3 \ \ | | | [GET] / 3 / поток и файл 3 может храниться непосредственно на диске NODE1 по адресу E: \\ файлы \ foo.txt так что он может быть потоковым быстро. Это возможно даже, или, что лучше?
Mike Rowe Sirvis
1

голосов
1

ответ
30

Просмотры

Можно ли продлить ткань Service Explorer с пользовательским интерфейсом?

Я не вижу каких-либо документированных рамки плагин для расширения функциональных возможностей Fabric Service Explorer. Есть, возможно, недокументированная один (или несколько проб), которые можно использовать, чтобы добавить пользовательские действия / информации на мои услуги?
tejas
1

голосов
2

ответ
39

Просмотры

Могу ли я получить государственную / информацию в разделе «Обновление» кластера Service Fabric?

Я создал новый Service Fabric кластера в Azure с помощью шаблона ARM, и это работает отлично. Но теперь, если я переключаюсь на Лазурный портал, я получаю в «Обзоре» только информацию «Обновление». Я использую версию Service Fabric: 6.4.637.9590. В «журнале активности» написано только «Создание или обновление кластера» в течение 2 часов. Теперь он смотрит на меня, как будто есть некоторые проблемы, но я не знаю, где я могу получить больше информации. Есть ли способ я могу получить развернуть / создать информацию с помощью Azure CLI?
Changer
0

голосов
0

ответ
6

Просмотры

Развертывание приложения для службы ткани с помощью PowerShell

Когда я щелкните правой кнопкой мыши мой проект ткани службы и нажмите кнопку «Опубликовать», развертывание идет гладко. Я хотел бы сделать то же самое с помощью PowerShell. Это сценарий я совместил:. Connect-ServiceFabricCluster -ConnectionEndpoint $ clusterEndpoint -KeepAliveIntervalInSec 10 -X509Credential -ServerCertThumbprint $ certThumbprint -FindType FindByThumbprint -FindValue $ certThumbprint -StoreLocation CurrentUser -StoreName My \ Deploy-FabricApplication.ps1 -ApplicationPackagePath»..... ..ServiceFabric \ упак \ Debug «-PublishProfileFile» ..... ServiceFabric \ PublishProfiles \ Cloud.xml»Первая команда успешно, но я получаю сообщение об ошибке для второго: ВНИМАНИЕ: подключение кластера с тем же именем уже существует, старое соединение будет быть удален Test-ServiceFabricApplicationPackage: Не удалось загрузить приложение пакета «Debug» из магазина. Убедитесь, что пакет приложений существует, и это не пустые. Я использую Visual Studio 2017 Что может быть не хватает?
PolinaC
2

голосов
0

ответ
23

Просмотры

Inject configuration into ASP Core correctly

Мы размещаем Web API ASP Core, внутри экземпляра службы ткани. Я хочу, чтобы направить все конфиги в Основном приложении. Я использую этот метод https://dzimchuk.net/configuring-asp-net-core-applications-in-service-fabric/ И тогда я призываю его помощью ConfigureAppConfiguration защищено переопределения IEnumerable CreateServiceInstanceListeners () {вернуть новый [] {нового ServiceInstanceListener ( serviceContext => новый KestrelCommunicationListener (serviceContext, "ServiceEndpoint", (URL, слушатель) => {ServiceEventSource.Current.ServiceMessage (serviceContext, $ "Начиная Kestrel на {URL}"); вернуть новый WebHostBuilder () .UseKestrel () .ConfigureServices (услуги => услуги. AddSingleton (serviceContext)) .ConfigureAppConfiguration (построитель => builder.AddServiceFabricConfiguration (serviceContext)) .UseContentRoot (Directory.GetCurrentDirectory ()) .UseStartup () .UseServiceFabricIntegration (слушатель, ServiceFabricIntegrationOptions.UseReverseProxyIntegration) .UseUrls (URL) Строить (); }))}; } На inected configration в классе запуска действительно имеет конфигу применяется, как строки подключения и лесозаготовки Но, кажется, ее не полностью измученной в рамки. Например мне нужно явный ApplicationInsights питания с конфигурацией services.AddApplicationInsightsTelemetry (Конфигурация); в противном случае это не пикап ключ инструмента.
Anders
1

голосов
3

ответ
1.2k

Просмотры

Как масштабировать услуги на основе Docker в лазури

Каков наилучший способ масштабирования Docker служб приложений, основанных на лазури. В AWS я знаю, что мы можем использовать контейнер службы. В настоящее время я использую Cloud Service на лазури, которая позволяет легко масштабирование. Существует также служба ткань, которая выглядит лучше, чем облачный сервис. Но когда я использую докер, как я могу масштабировать их между несколькими виртуальными машинами?
CreativeManix
1

голосов
1

ответ
793

Просмотры

Ошибки при запуске любого запоминания состояния службы на локальном кластере

Запуск Service Fabric 4.4.87.9494 на ОС Windows 8.1 можно успешно развернуть и запустить без гражданства или услугу с сохранением состояния или лица без актера на моем локальном кластере, но когда я пытаюсь развернуть динамическую службу, я получаю следующее сообщение об ошибке в Проводнике Service Fabric: Событие предупреждения Нездорового события: SourceId = 'System.RA', свойство = 'ReplicaOpenStatus', HealthState = 'Внимание', ConsiderWarningAsError = ложь. Реплика было несколько неудач во время открытой. Ошибка = System.IO.FileNotFoundException (-2147024894) Система не может найти указанный файл. (Исключение из HRESULT: 0x80070002) при System.Fabric.Data.Log.Interop.NativeLog.IKPhysicalLogManager.EndOpenLogContainer (IFabricAsyncOperationContext контексте, IKPhysicalLogContainer и результата) при System.Fabric.Data.Log.Interop.PhysicalLogManager. или использовать любого из образцов из начали получать репо, или добавить динамическую услугу существующего приложения. То же самое происходит, независимо от того, используется ли я в Visual Studio, чтобы развернуть или выполнить команды Powershell. Тем не менее, если я раскрываю то же приложение к Azure, все хорошо. Я попробовал это на два других компьютерах Windows, 8.1 при работе с теми же результатами, но я попробовал его на моей домашней машине (Windows 10) и не вижу проблемы. Это говорит о том, что может быть что-то в политике группы, которая затрагивающая вещь. Я смотрел на политике результирующей группы и не могу найти ничего, что я бы подумала, мог вызвать такую ​​проблему. Я попытался отключить антивирус во время развертывания тоже. Я пытался использовать Process Monitor, чтобы выяснить, какой файл он ищет, но не может найти что-нибудь очевидное. Любые указатели о том, как этот прогресс будет очень высоко. Я хочу, чтобы команда все вверх и работает, и я не могу, если мы не можем создать отслеживание состояния услуг!
Code Monkey
1

голосов
1

ответ
78

Просмотры

Eventual replication cross continents

Я задаюсь вопросом, что лучшая практика заключается в достижении в конечном итоге (т.е. отсроченный) репликацию надежных государственных разделов в кластере Service Fabric? Я хотел бы иметь что-то вроде этого: Изображение выше должно иллюстрировать один сервис ткани кластера, в котором некоторые узлы расположены на одном континенте, и некоторые другие узлы расположены на другой континент. Узел, помеченный P является основной копией для некоторого надежного состояния. R1 и R2 представл ют собой вторичные реплики для этого состояния. R3..R5 также реплики для этого состояния, но больше как вторичные вторичные. Репликация состояние между двумя поднаправлениями будет медленным (они находятся далеко друг от друга). В этом случае, там в основном будут только для чтения клиентов на континенте Y и эти клиенты не должны видеть «реального времени» обновления. Отставание не является проблемой, до тех пор, как все (или, по крайней мере, большинство) Реплики в этом суб-кластера имеют согласованное состояние. Я думаю, что я хотел бы, чтобы достичь можно резюмировать в этих точках: Я хочу, чтобы реплики в суб-кластера Y, чтобы быть своего рода второго класса репликами. Они не должны допускать, чтобы стать основным, и они должны иметь возможность отставать. Все (или большинство) Реплики для данного состояния в данном суб-кластер должен быть последовательным. Я хочу, чтобы трафик репликации пересекают эти два суб-кластеры на одном пути. Я не хочу, трафика для того же реплицируются государство не проходимости континента более чем один раз (если это необходимо). Возможно, имея что-то вроде «первичной отсроченной реплики» на суб-кластер Y, которые распространяются реплицированное состояние с другими репликами в этом суб-кластере? Примечание: Для некоторого другого надежного государственного раздела, она также может быть наоборот. Это суб-кластер Y содержит первичный, и что суб-кластер Х «отложен». Есть некоторая поддержка этого доступен в рамках Service Fabric? Или есть какие-либо рекомендации доступны? Или, может быть, этот сценарий полностью от дороги?
Mårten Wikström
1

голосов
1

ответ
513

Просмотры

Message handler not activating

I've run into some problems regarding rebus. Here is my scenario. We have three services Identity) published 'IdentityCreated' Message Gateway) sends 'UpdateProfileCommand' directly into 'profile-westeu-input' queue Profile) Consumes messages from input queue 'profile-westeu-input' and subscribes to 'IdentityCreated' messages The rebus configuration seen in Profile Service Given that i have registered my handlers with castle windsor. container.Register(Classes.FromThisAssembly() .BasedOn(typeof(IHandleMessages)) .WithServiceAllInterfaces() .LifestyleTransient()); And i configured Rebus with var bus = Configure.With(new CastleWindsorContainerAdapter(container)) .Logging(x => x.Trace()) .Transport( t => t.UseAzureServiceBus(connectionStringNameOrConnectionString: connectionString, inputQueueAddress: ProfileInputQueueName, mode: AzureServiceBusMode.Standard)) .Options(o => o.SimpleRetryStrategy(ProfileErrorQueueName)) .Start(); and subscribed to a message type like this bus.Subscribe(typeof(Nabufit.Messages.Identity.Events.IdentityCreated)).Wait() I expected my handler was being called automatically. However it doesnt :(. I've tried different solutions Changed name of input queues Created an eventemitter program, which published an event of the type 'IdentityCreated'. When looking in the input queue it is present but it doesnt get picked up by rebus. Bonus info: Using azure service bus Hosting Rebus inside a Service fabric application My input queue is named 'profile-westeu-input'
Martin Clausen
1

голосов
2

ответ
1.2k

Просмотры

Доступ запрещен Microsoft.AspNetCore.Server.WebListener

Я использую этот код в службу обслуживания ткани Stateless Microsoft для размещения ядра .net самостоятельно хоста MVC приложение, к сожалению, когда я запускаю этот код, я получаю ошибку «Отказано в доступе», когда метод Start () вызывается. Если переключиться на использование Kestrel вместо Weblistener, то это прекрасно. Если я двигаю код стандартного консольного приложения (т.е. не с помощью службы ткани) это прекрасно. Как я могу получить эту работу с Weblistener? _host = новый WebHostBuilder () .UseUrls (listeningAddress) .UseServer ( "Microsoft.AspNetCore.Server.WebListener") .UseContentRoot (Wwwroot) .UseStartup () Строить (); // .UseKestrel () _host.Start ();
Slicc
1

голосов
1

ответ
662

Просмотры

Как я могу настроить представление приложений для приложения службы ткани?

Я не мог найти SDK от лазурных идеи применения для обслуживания ткани на NuGet сайта. Знает ли какой-либо один, как настроить его правильно? Следующая ссылка, как представляется, устаревшее: https://github.com/Microsoft/azure-content/blob/master/articles/service-fabric/service-fabric-diagnostics-application-insights-setup.md Спасибо. Рагу
Raghu
1

голосов
2

ответ
164

Просмотры

Здоровье Отчетность Застрял

В простом безгосударственноге службы я пытаюсь сообщить здоровье. В качестве теста я просто листать между ОК и предупреждения состояний на каждой итерации моего цикла в RunAsync (имеет интервал ожидания от 15secs). Код выглядит следующим образом: // оповещение на нечетных итерациях HealthState состояния = ((++ Итерация% 2) = 0!)? HealthState.Warning: HealthState.Ok; HealthInformation здоровье = новый HealthInformation ( "ServiceCode", "итерация", состояние); Partition.ReportInstanceHealth (здоровье); Я протоколирование состояние на каждой итерации цикла и журнал показывает, что листать назад и вперед. Но в SF Explorer, он застрял на Ok, никогда не переключиться на предупреждение (у меня есть интервал обновления 5secs в SFExplorer). Что я делаю неправильно здесь?
BrettRobi
1

голосов
1

ответ
428

Просмотры

Secure Service Fabric кластера Но сделать API Публичная

Я ищу в использовании ткани кластера службы для службы с публичным API. При создании кластера службы ткани у меня есть возможность выбрать либо защищенный режим и использовать сертификат, или незащищенный режим. В небезопасном режиме, любой может вызвать API, который является то, что я хочу, но это также означает, что любой человек может перейти на страницу управления на * northeurope.cloudapp.azure.com: 19080 и делать ничего, что явно не в порядке. Я попытался с помощью безопасного режима с сертификатом, и это не позволяет кому-либо без сертификата с помощью страницы руководства, но и, кажется, предотвратить любой призывающие к API. Я пропускаю что-то простое? Как сохранить сторону управления кластера обеспеченного, делая API общественность, так что любой человек может назвать это? Edit: После просмотра более тщательно, мне кажется, что предполагаемое поведение является то, что, как я Ве настроен пользовательской конечной точки при настройке кластера, что я должен быть в состоянии вызвать службу. Поэтому я считаю, что это может быть просто ошибка в моем коде.
QTom
1

голосов
1

ответ
221

Просмотры

Что это лучший способ, чтобы получить ключи от IreliableDictionary

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

голосов
1

ответ
122

Просмотры

Максимальная длина строки ActorId

Какова максимальная длина строки на основе ActorId? И если есть разница между максимально возможной длиной и максимальной рекомендуемой длиной, в чем разница и почему?
Lars Kemmann
1

голосов
1

ответ
1.3k

Просмотры

The Load Balancer was unable to find a placement for one or more of the Service's Replicas

Проблема с развертыванием. Все хорошо в разработке кластера, но не в состоянии успешно развернуть в локальной группе. Изначально у меня был 3-узлы кластера и получил это предупреждение очень часто, то я добавил еще два узла, и количество неудачных реплик уменьшили, но не исчезло. Я запутался с сообщениями этого предупреждения, кто-нибудь может объяснить, что это значит? Balancer нагрузки не удалось найти место размещения для одного или нескольких реплик Службы: ткань: /Dev.Fabric/CommentsCacheActorService Первичной Partition f2b641-a69d-4447-a4b0-74cad27e5692 не может быть размещен, возможно, из-за следующие ограничения и свойства: TargetReplicaSetSize: 1 Размещение Constraint: N / A Обслуживание зависит: Последовательность N / A ограничение Устранение: ServiceTypeDisabled / NodesBlockListed устранены 5 возможного узла (ы) для размещения - 0/5 узла (ы) остаются. Узлы изживались Ограничений ServiceTypeDisabled / NodesBlockListed Узлы не должны иметь ServiceType Отключено или быть BlockListed из-за паузы узла / Деактивировать Статус: FaultDomain: ФД: / DC4 / r0 NodeName: VM3 NodeType: NodeType0 NodeTypeName: NodeType0 UpgradeDomain: UD3 UpgradeDomain: уд: / UD3 Дезактивация Intent / Статус: Нет / None FaultDomain: ФД: / DC3 / r0 NodeName: Vm2 NodeType: NodeType0 NodeTypeName: NodeType0 UpgradeDomain: UD2 UpgradeDomain: уд: / UD2 деактивация Intent / Статус: Нет / None FaultDomain: ФД: / DC2 / r0 NodeName: vm1 NodeType: NodeType0 NodeTypeName: NodeType0 UpgradeDomain: UD1 UpgradeDomain: уд: / UD1 деактивация Intent / Статус: Нет / None FaultDomain: ФД: / DC1 / r0 NodeName: VM0 NodeType: NodeType0 NodeTypeName: NodeType0 UpgradeDomain: UD0 UpgradeDomain: не уд: / UD0 деактивация Intent / Статус: Нет / None FaultDomain: ФД: / DC5 / r0 NodeName: VM4 NodeType: NodeType0 NodeTypeName: NodeType0 UpgradeDomain: UD4 UpgradeDomain: уд: / UD4 деактивация Intent / Статус: Нет / Нет Это очень странно, потому что это предупреждение уходит со временем. Вероятно, это происходит из-за изменения баланса. Любые идеи о том, что ограничение упоминается?
cassandrad
1

голосов
1

ответ
303

Просмотры

Обслуживание Ткань / Actor шаблон для списка вещей

Концептуально, у меня есть следующие объекты: Предмет - (ItemId, имя, цвет) ItemGroup = (GroupID, имя, список товара) Давайте предположим, что элементы могут принадлежать нескольким группам и этой самобытности Пункт и ItemActor необходимо. Для сохраняющих состояние актеров, у меня есть это: ItemActor (ItemId): Get () -> возвращает ItemContract {ItemId, имя, цвет} ItemGroupActor (GroupID): Get () -> возвращает GroupContract {GroupID, имя, List <ItemContract>} Вот вопросы: Если GroupActor только сохранить ItemIds и заставить кого-то называть каждый ItemActor (в цикле) для ItemContracts? Или же GroupActor держать все детали элементов и прослушивать события изменения товара, чтобы сохранить свои данные в актуальном состоянии (как вид)? Или есть третий «ViewActor», который собирает данные вместе, вызывая ItemActors (в цикле), и прослушивания событий, чтобы сохранить свои данные в актуальном состоянии? Или что-то другое? Ни один из этих вариантов не кажется мне особенно привлекательным, поскольку они либо требуют зацикливаний актерских вызовов или управления товаром высокого технического обслуживания через событие. Есть некоторое руководство, чтобы убедить меня в одну стороны или другой стороны или для общего подхода к этому сценарию?
TBone
1

голосов
2

ответ
277

Просмотры

Что делает ID реплики в Azure Service Fabric действительно представляют?

Каково значение реплики идентификатора для сохранения состояния службы в Azure Service Fabric. Чтобы было ясно, я понимаю, что реплика, но я не понимаю, почему реплики в двух совершенно различных услуг, будет в конечном итоге с тем же ID и / или почему для данной службы количество идентификаторов реплик гораздо больше, чем TargetReplicaSetSize. Я пытался определить точные копии, принадлежавшее каждому перегородки с учетом состояния службы и надеялся / предполагается, что копия идентификатор будет делать это. Как я мог бы сделать это определение? Для того, чтобы добавить, учитывая рекомендацию Rotem в ниже, вот снимок реплик на одном из моих узлов. Обратите внимание, что первые две строки имеют один и тот же идентификатор реплики, но принадлежат к разным разделам, что та часть, я не получаю. Кроме того, здесь вы видите ту же реплику идентификатор, используемый для двух различных услуг: Очевидно, я продолжаю с помощью "
Jim O'Neil
1

голосов
1

ответ
196

Просмотры

Надежный актер Реентерабельность по различным видам актера

От чтения здесь я вижу, что актеры вновь абитуриент, и я ожидаю, что следующее, чтобы быть правдой: если у меня есть один типа актер ThespianType но три конкретных актеров ThespianType (Т1, Т2 и Т3), то это выигранный» т тупиковый: (внешний клиент) -> T1.MethodA () -> T2.MethodB () -> T3.MethodC () -> T1.MethodD () Мой вопрос: делает то же Реентерабельность распространяется на несколько видов актора? Например, говорят, что мы имеем: два типа Actor PainterType и BrushType; и один актер каждого типа: художник P1 и кисти В2 Теперь это происходит: (внешний клиент) -> P1.MethodX () -> B2.MethodY () -> P1.MethodZ () Предположим, что MethodZ () является простым методом без каких-либо блокирующих вызовов. Вопрос: будет ли это тупик (или бросить ServiceFabric исключение из-за обнаруженной тупиковой ситуации)?
0xb304
1

голосов
1

ответ
403

Просмотры

Azure Virtual Machine Scale Set: Microsoft.Azure.Diagnostics.IaaSDiagnostics has exited with Exit code: -3

When deploying an ARM template to create a Virtual Machine Scale Set, the installation of the final, azure diagnostics extension fails. Handler 'Microsoft.Azure.Diagnostics.IaaSDiagnostics' has reported failure for VM Extension 'VMDiagnostics_Name' with terminal error code '1009' and error message: 'Enable failed for plugin (name: Microsoft.Azure.Diagnostics.IaaSDiagnostics, version 1.7.4.0) with exception Command C:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.7.4.0\DiagnosticsPluginLauncher.exe of Microsoft.Azure.Diagnostics.IaaSDiagnostics has exited with Exit code: -3' Can't see what caused the problem when remote desktop connected to one of the servers. From the ARM Template (standard): "extensionProfile": { "extensions": [ (...) { "properties": { "publisher": "Microsoft.Azure.Diagnostics", "type": "IaaSDiagnostics", "typeHandlerVersion": "1.5", "autoUpgradeMinorVersion": true, "settings": { "WadCfg": { "DiagnosticMonitorConfiguration": { "overallQuotaInMB": "50000", "EtwProviders": { "EtwEventSourceProviderConfiguration": [ { "provider": "Microsoft-ServiceFabric-Actors", "scheduledTransferKeywordFilter": "1", "scheduledTransferPeriod": "PT5M", "DefaultEvents": { "eventDestination": "ServiceFabricReliableActorEventTable" } }, { "provider": "Microsoft-ServiceFabric-Services", "scheduledTransferPeriod": "PT5M", "DefaultEvents": { "eventDestination": "ServiceFabricReliableServiceEventTable" } } ], "EtwManifestProviderConfiguration": [ { "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8", "scheduledTransferLogLevelFilter": "Information", "scheduledTransferKeywordFilter": "4611686018427387904", "scheduledTransferPeriod": "PT5M", "DefaultEvents": { "eventDestination": "ServiceFabricSystemEventTable" } } ] } } }, "StorageAccount": "storageaccountname" } }, "name": "VMDiagnostics_Name" } Anyone know what's breaking this deployment?
MetalMichael
1

голосов
1

ответ
401

Просмотры

Azure Service Fabric Укажите Услуги / Запуск приложения Завис

Кратко спросить, есть ли способ определить зависимость запуска службы / приложения в Azure Service Fabric? У меня есть две услуги, скажем, S1 и S2. S2 зависит от S1, и должен быть запущен после того, как начинается S1. В настоящее время S1 и S2 находятся в различных прикладных пакетах. Я могу также поместить их в один пакет прикладных программ, если это необходимо. Это работает, если я начну S1, а затем S2 во время развертывания. Тем не менее, кажется, что служба Ткань имеют некоторые работы по техническому обслуживанию, в ходе которых услуги получают перезапуск. Теперь проблема заключается в том, что порядок запуска S1 и S2 не гарантируется, что приводит к S2, чтобы не прочитать некоторые конфигурации во время инициализации. S2 не может тихо, но продолжает работать. В Service Fabric есть способ указать SetupEntryPoint», однако в этом случае сама S1 имеет„SetupEntryPoint“, кроме того, я чувствую, что это не свойственно ставить длинный запущенный сервис под «SetupEntryPoint». Я также думал о том, чтобы S2 стоп, когда она не читать конфигурации из S1, в этом случае служба ткань будет продолжать попытки перезапуска S2 до S1 не запускается. Но есть ли способ, чтобы гарантировать S2 начинается после того, как S1 через конфиг Service Fabric?
user2188649
1

голосов
1

ответ
841

Просмотры

Закрепить создание Service Fabric застрял в ожидании статуса узлов

Я создал SF Cluster Linux Preview с помощью сценария автоматизации. Шаги: Создание группы ресурсов (местоположение eastus) Создано keyvault под групповым набором ресурсов политики --enabled-для-развертывания «истинные» --enabled-для-шаблон-развертывания «истинное» Загрузил сертификат keyvault Created кластера Service Fabric с тип узла 2 (D2_V2, Долговечность - Бронза, надежность -серебро) После того, как узлы развертывания не соединены кластера SF. он застрял в «ожидании узлов» статуса. она связана ли для проверки подлинности проблемы для узлов, чтобы присоединиться? Связанные StackOverflow вопросы: ткань кассетных вопросы выделения ресурсов Azure услуг, но это не решает эту проблему.
Raghu K Nair
1

голосов
1

ответ
151

Просмотры

Ошибка развертывается приложение Service Fabric - не может индексировать в нулевой массив

Я настроил развертывание для приложения Service Fabric с помощью Visual Studio Team Services (размещенный агент). Все работает, как не ожидал, что до самого последнего времени. Теперь развертывания неудача со следующим сообщением об ошибке: Не удается индекс в нулевой массив. Задача настраивается следующим образом: Это полный журнал задачи развертывания: 2017-02-13T13: 23: ## 25.4033826Z [раздел] Запуск: Deploy Service Fabric Применение 2017-02-13T13: 23: 25.4113825Z === ================================================== ========================= 2017-02-13T13: 23: 25.4113825Z Задача: Service Fabric Application Deployment 2017-02-13T13: 23: 25,4113825 Z Описание: Развертывание приложения Service Fabric к кластеру. 2017-02-13T13: 23: 25.4113825Z Версия: 1.3.3 2017-02-13T13: 23: 25.4113825Z Автор: Microsoft Corporation 2017-02-13T13: 23: 25. Помощь 4113825Z: [Дополнительная информация] (https://go.microsoft.com/fwlink/?LinkId=820528) 2017-02-13T13: 23: 25.4123824Z =============== ================================================== ============= 2017-02-13T13: 23: ## 28.3707902Z [Debug] VstsTaskSdk 0.7.1 совершить f990f8d8df6197b1cfcec01031ba014ad4905681 2017-02-13T13: 23: ## 28.7247919Z [Debug] Вход D: \ а \ _tasks \ ServiceFabricDeploy_c6650aa0-185b-11e6-a47d-df93e7a34c64 \ 1.3.3 \ deploy.ps1. 2017-02-13T13: 23: ## 28.7397904Z [Debug] строки Загрузка ресурсов из: D: \ а \ _tasks \ ServiceFabricDeploy_c6650aa0-185b-11e6-a47d-df93e7a34c64 \ 1.3.3 \ task.json 2017-02-13T13: 23: 28.8877911Z ## [Debug] Загруженный 49 строк. 2017-02-13T13: 23: ## 28.8977907Z [Debug] SYSTEM_CULTURE: 'EN-US' 2017-02-13T13: 23: ## 28.8987909Z [Debug] строки Загрузка ресурсов из: D: \ а \ _tasks \ ServiceFabricDeploy_c6650aa0 -185b-11e6-a47d-df93e7a34c64 \ 1.3. 3 \ Strings \ resources.resjson \ EN-US \ resources.resjson 2017-02-13T13: 23: ## 29.0617895Z [Debug] Loaded 49 строк. 2017-02-13T13: 23: ## 29.1177896Z [Debug] INPUT_PUBLISHPROFILEPATH: 'D: \ а \ г1 \ а \ артефакты \ ServiceFabric \ Config \ PublishProfiles \ Cloud.qa.xml' 2017-02-13T13: 23: 29,1805007 Z Поиск пути: D: \ а \ r1 \ а \ артефакты \ ServiceFabric \ Config \ PublishProfiles \ Cloud.qa.xml 2017-02-13T13: 23: ## 29.2145006Z [Debug] Ввод Find-VstsFiles. 2017-02-13T13: 23: ## 29.2305008Z [Debug] LegacyPattern: 'D: \ а \ г1 \ а \ артефакты \ ServiceFabric \ Config \ PublishProfiles \ Cloud.qa.xml' 2017-02-13T13: 23: 29,2895008 Z ## [Debug] Ввод Get-MatchingItems. 2017-02-13T13: 23: ## 29.2944996Z [Debug] IncludePatterns: 'D: \ а \ г1 \ а \ артефакты \ ServiceFabric \ Config \ PublishProfiles \ Cloud.qa.xml' 2017-02-13T13: 23: 29,3034992 Z ## [Debug] ExcludePatterns: '' 2017-02-13T13: 23: 29. 3104997Z ## [Debug] IncludeFiles: 'True' 2017-02-13T13: 23: ## 29.3135007Z [Debug] IncludeDirectories: 'False' 2017-02-13T13: 23: ## 29.3405018Z [Debug] Force: «Ложные '2017-02-13T13: 23: ## 29.5979986Z [Debug] Путь: D: \ а \ r1 \ а \ артефакты \ ServiceFabric \ Config \ PublishProfiles \ Cloud.qa.xml 2017-02-13T13: 23: 29.6040007Z ## [Debug] Покидая Get-MatchingItems. 2017-02-13T13: 23: ## 29.6079982Z [Debug] Всего найдено: 1 2017-02-13T13: 23: ## 29.6109978Z [Debug] Оставляя Найти-VstsFiles. 2017-02-13T13: 23: ## 29.6329988Z [Debug] Утверждая путь лист существует: 'D: \ а \ r1 \ а \ артефакты \ ServiceFabric \ Config \ PublishProfiles \ Cloud.qa.xml' 2017-02-13T13: 23: 29.6350041Z Найдено путь: D: \ а \ r1 \ а \ артефакты \ ServiceFabric \ Config \ PublishProfiles \ Cloud.qa.xml 2017-02-13T13: 23: ## 29.7000090Z [Debug] INPUT_APPLICATIONPACKAGEPATH: «D: \ а \ r1 \ а \ публиковать \ Release»2017-02-13T13: 23: 29. 7010019Z Поиск пути: D: \ а \ r1 \ а \ публиковать \ Release 2017-02-13T13: 23: ## 29.7049996Z [Debug] Ввод Find-VstsFiles. 2017-02-13T13: 23: ## 29.7079987Z [Debug] LegacyPattern: 'D: \ а \ r1 \ а \ публиковать \ Release' 2017-02-13T13: 23: ## 29.7100038Z [Debug] IncludeDirectories: «Правда '2017-02-13T13: 23: ## 29.7140043Z [Debug] Ввод Get-MatchingItems. 2017-02-13T13: 23: ## 29.7169997Z [Debug] IncludePatterns: 'D: \ а \ r1 \ а \ публикации \ Release' 2017-02-13T13: 23: ## 29.7200023Z [Debug] ExcludePatterns: '' 2017-02-13T13: 23: ## 29.7230026Z [Debug] IncludeFiles: 'False' 2017-02-13T13: 23: ## 29.7250041Z [Debug] IncludeDirectories: 'True' 2017-02-13T13: 23: 29.7720050Z ## [Debug] Force: 'False' 2017-02-13T13: 23: ## 29.9969997Z [Debug] Путь: D: \ а \ r1 \ а \ публиковать \ Release 2017-02-13T13: 23: 29.9969997Z # # [отладка] Оставив Get-MatchingItems. 2017-02-13T13: 23: ## 29.9969997Z [Debug] Всего найдено: 1 2017-02-13T13: 23: ## 29.9969997Z [Debug] Оставляя Найти-VstsFiles. 2017-02-13T13: 23: ## 29.9969997Z [Debug] Утверждая путь к контейнеру существует: 'D: \ а \ r1 \ а \ публикации \ Release' 2017-02-13T13: 23: 29.9969997Z Найдено путь: D: \ а \ r1 \ а \ публиковать \ Release 2017-02-13T13: 23: ## 29.9979996Z [Debug] INPUT_SERVICECONNECTIONNAME: '307f16ba-c7b0-44be-9998-050e6075a9b6' 2017-02-13T13: 23: 29.9979996Z ## [ отладки] ENDPOINT_URL_307f16ba-c7b0-44be-9998-050e6075a9b6: 'https://xxxxxxxxxxxx.cloudapp.azure.com:19000/' 2017-02-13T13: 23: ## 29.9979996Z [Debug] ENDPOINT_AUTH_xxxxxxxxxxxx: «**** ****»2017-02-13T13: 23: ## 30.0010004Z [Debug] ENDPOINT_DATA_xxxxxxxxxxxx: '{}' 2017-02-13T13: 23: ## 30.0079998Z [Debug] INPUT_COPYPACKAGETIMEOUTSEC (пусто) 2017-02-13T13 : 23: 30. 0169999Z ## [Debug] INPUT_REGISTERPACKAGETIMEOUTSEC (пусто) 2017-02-13T13: 23: ## 30.0209986Z [Debug] INPUT_COMPRESSPACKAGE: 'истина' 2017-02-13T13: 23: 30.1139975Z ## [предупреждение] Ваша задача развертывания была обновлен до новой версии с возможными изменениями разбивания. Кластер Endpoint определяется в конечной точке службы ранее игнорировали, но теперь будет переопределить значение в публикации профиля. Убедитесь, что конечная точка является правильной и с префиксом «https: //». Кроме того, поле сертификата сервера Отпечаток было добавлено в конечную точку службы, а также будет переопределение опубликовать значение профиля. Ваша конечная точка службы не могут быть обновлены, чтобы указать сервер сертификатов Отпечаток, в этом случае мы будем по-прежнему использовать значение из публикации профиля и вы должны попробовать еще раз в ближайшее время. 2017-02-13T13: 23: ## 30.1139975Z [отлаживать] Переработанные: ## всо [task.logissue типа = предупреждение] Ваша задача развертывания была обновлена ​​до новой версии с возможными изменениями разбивания. Кластер Endpoint определяется в конечной точке службы ранее игнорировали, но теперь будет переопределить значение в публикации профиля. Убедитесь, что конечная точка является правильной и с префиксом «https: //». Кроме того, поле сертификата сервера Отпечаток было добавлено в конечную точку службы, а также будет переопределение опубликовать значение профиля. Ваша конечная точка службы не могут быть обновлены, чтобы указать сервер сертификатов Отпечаток, в этом случае мы будем по-прежнему использовать значение из публикации профиля и вы должны попробовать еще раз в ближайшее время. 2017-02-13T13: 23: ## 30.2456671Z [Debug] Выход D: \ а \ _tasks \ ServiceFabricDeploy_c6650aa0-185b-11e6-a47d-df93e7a34c64 \ 1.3.3 \ deploy.ps1. 2017-02-13T13: 23: 30. 2646567Z ## [Debug] Caught исключение из сценария задачи. 2017-02-13T13: 23: ## 30.2696555Z [Debug] запись об ошибке: 2017-02-13T13: 23: ## 30.3756887Z [Debug] D: \ а \ _tasks \ ServiceFabricDeploy_c6650aa0-185b-11e6-a47d-df93e7a34c64 \ 1.3.3 \ deploy.ps1: Может не индексировать в нулевой массив. 2017-02-13T13: 23: ## 30.3766890Z [отладка] В строке: 1 знак: 1 2017-02-13T13: 23: ## 30.3786885Z [отладка] +. «D: \ а \ _tasks \ ServiceFabricDeploy_c6650aa0-185b-11e6-a47d-df93e7a34c ... 2017-02-13T13: 23: ## 30.3806878Z [Debug] + ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ 2017-02-13T13: 23: ## 30.3816887Z [отладка] + CategoryInfo: InvalidOperation: (:) [deploy.ps1], RuntimeException 2017-02-13T13: 23: ## 30.3836876Z [отладка] + FullyQualifiedErrorId: NullArray, deploy.ps1 2017-02-13T13: 23: ## 30.3846887Z [Debug] 2017-02-13T13: 23: ## 30.3876887Z [Debug] Сценарий трассировки стека: 2017-02-13T13: 23: ## 30.3926870Z [отладка] в, D: \ а \ _tasks \ ServiceFabricDeploy_c6650aa0-185b-11e6-a47d-df93e7a34c64 \ 1.3.3 \ deploy.ps1: Строка 57 2017-02-13T13: 23: ## 30.3946887Z [отладка] в,: строка 1 2017-02-13T13: 23: ## 30.3966873Z [отладка] в,: строка 22 2017-02-13T13: 23: ## 30.3976888Z [отладка] на ,: линия 18 2017-02-13T13: 23: ## 30.3996872Z [отладка] в,: строка 1 2017-02-13T13: 23: ## 30.4026873Z [отладка] Исключение: 2017-02-13T13: 23: 30,4166884 Z ## [Debug] System.Management.Automation.RuntimeException: Может не индексировать в нулевой массив. 2017-02-13T13: 23: ## 30.4186886Z [Debug] в System.Management.Automation.ExceptionHandlingOps.CheckActionPreference (FunctionContext funcContext, Exception исключение) 2017-02-13T13: 23: ## 30.4206873Z [Debug] в системе. Management.Automation.Interpreter.ActionCallInstruction`2.Run (InterpretedFrame кадр) 2017-02-13T13: 23: 30. CommandProcessorBase.Complete () 2017-02-13T13: 23: 30.4639786Z ## [ошибка] не может индексировать в нулевой массив. 2017-02-13T13: 23: ## 30.4639786Z [отлаживать] Переработанные: ## всо [task.logissue тип = ошибка] не может индексировать в нулевой массив. 2017-02-13T13: 23: ## 30.4666547Z [отлаживать] Переработанный: ## вс [task.complete результата = Failed] 2017-02-13T13: 23: ## 30.4886539Z [раздел] Отделка: Deploy Service Fabric Применения BTW Я заметил, что размещаемые агенты были недавно обновлены (2/7/2017), мне интересно, если это может быть связано с этим вопросом?
Rui Jarimba
1

голосов
2

ответ
354

Просмотры

В чем разница между ServiceFabricClusterConfiguration и ServiceFabricClusterManifest?

Мой вопрос касается обновления конфигурации для кластера Service Fabric автономного Windows. В чем разница между ServiceFabricClusterConfiguration и ServiceFabricClusterManifest? Предположим, что я хочу, чтобы изменить настройку ApplicationPorts, я вижу следующие варианты: Использование использование ServiceFabricClusterConfiguration Get-ServiceFabricClusterConfiguration редактировать файл в формате JSON Запустите обновление с помощью Start-ServiceFabricClusterConfigurationUpgrade или с помощью ServiceFabricClusterManifest Используйте Get-ServiceFabricClusterManifest редактировать файл XML Запустите обновление с помощью регистровой ServiceFabricClusterPackage -Config -ClusterManifestPath "ClusterConfigv2.xml" Start-ServiceFabricClusterUpgrade -ClusterManifestVersion 2 -Config Я попытался изменить ApplicationPorts через ServiceFabricClusterManifest. Сейчас мы находимся в ситуации, что ApplicationPorts отличается в формате JSON (Get-ServiceFabricClusterConfiguration), чем значение в XML (Get-ServiceFabricClusterManifest) Мои вопросы: В чем разница между этими двумя подходами? Какой подход следует принять? Так как различные команды Get- дают различные результаты, что является способом увидеть фактическую конфигурацию приложенной? Обновление: я получаю следующее сообщение об ошибке при выполнении команды Start-ServiceFabricClusterConfigurationUpgrade. Исключение: System.Exception: Исключение типа «System.Exception» был брошен. в System.Fabric.Interop.NativeClient.IFabricClusterManagementClient7.EndUpgradeConfiguration (IFabricAsyncOperationC КОНТЕКСТ контекста) в System.Fabric.Interop.Utility.
veertien
1

голосов
1

ответ
186

Просмотры

Уменьшить время обновления при изменении параметров приложения для применения Fabric службы

У меня есть сценарий мульти-арендатор (каждый арендатор имеет свой собственный экземпляр Service Fabric Application) был арендатор может активировать / деактивировать отдельный Service Fabric Services (мы подвергаем услуги в качестве концепции расширения арендатора в пользовательском интерфейсе). Пример: Наниматель # 1 активизирует расширение электронной почты, который будет активировать ткань службу электронной почты. Требования: Когда арендатор активизирует расширение, они должны быть в состоянии обеспечить конфигурацию (например: SMTPServer) Арендатор должен иметь возможность активировать расширение быстро (есть ~ 20 различных расширения) Расширение должно быть и работает в секундах текущей реализации активации расширение обрабатывается следующим образом (на примере электронной почты выше): Арендатор активизирует расширение электронной почты через интерфейс и указать адрес в SMTPServer служба электронной почты создается в tenant's приложения Обновление приложения запускается при добавлении прилагаемых конфигураций SMTPServer к списку параметров приложения Service Fabric начинает чередующееся обновление Время летит (минуты в нашем случае) Приложение обновляется и служба электронной почты и работают Вышеприведенным сценарий работы, запуск службы и может прочитать конфигурацию SMTPServer. Однако опыт для арендатора не является оптимальным. Проблема При обновлении никакой другой служба не может быть активирована, поскольку конфигурация не может быть изменена во время текущего обновления в Service Fabric. Поэтому арендатор должен ждать, пока приложение не будет обновлено (занимает несколько минут), прежде чем они могут включить / отключить функцию расширения снова. Если арендатор хочет, чтобы активировать 10 расширений им придется долго ждать. Я попытался следующие, чтобы уменьшить время обновления: Установите HealthCheckStableDurationInMilliseconds в 0 Устанавливаются HealthCheckWaitDurationInMilliseconds до 0 Процесс обновления до сих пор занимает слишком много времени (около одной минуты). Вопрос Так как мы только хотим изменить Service Fabric Application Parameters есть ли другой способ ускорить процесс обновления или работу вокруг него полностью? Примечание: Из-за технических ограничений мы не можем периодического расширения активаций. Каждый добавочный номер должен быть активирован один в то время. Установите HealthCheckStableDurationInMilliseconds до 0 Установите HealthCheckWaitDurationInMilliseconds в 0 Процесс обновления до сих пор занимает слишком много времени (около одной минуты). Вопрос Так как мы только хотим изменить Service Fabric Application Parameters есть ли другой способ ускорить процесс обновления или работу вокруг него полностью? Примечание: Из-за технических ограничений мы не можем периодического расширения активаций. Каждый добавочный номер должен быть активирован один в то время. Установите HealthCheckStableDurationInMilliseconds до 0 Установите HealthCheckWaitDurationInMilliseconds в 0 Процесс обновления до сих пор занимает слишком много времени (около одной минуты). Вопрос Так как мы только хотим изменить Service Fabric Application Parameters есть ли другой способ ускорить процесс обновления или работу вокруг него полностью? Примечание: Из-за технических ограничений мы не можем периодического расширения активаций. Каждый добавочный номер должен быть активирован один в то время.
Masus

Просмотр дополнительных вопросов