Проверка работоспособности приложения консоли службы, размещенной на C #

У меня есть 2 размещенных сервиса, и я должен проверять состояние здоровья друг друга. Как реализовать проверку работоспособности в консольном приложении C # (размещенная служба). каковы параметры для проверки работоспособности размещенной службы.


person Arshit Singh    schedule 07.08.2020    source источник


Ответы (1)


Если вам подходят проверки работоспособности через HTTP, я предлагаю изучить встроенную функцию проверки работоспособности .Net Core. Он устанавливает конечную точку REST в вашем приложении, где вы также можете реализовать настраиваемое поведение проверки работоспособности.

См .: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks?view=aspnetcore-3.1

Технически вы могли бы вызвать API проверки работоспособности одной размещенной службы другим.

Вы можете добавить конечную точку проверки работоспособности к каждой размещенной службе. Тогда каждая служба будет доступна, почему HTTP / REST и служба A могут вызывать API проверки работоспособности службы B и наоборот.

Например. затем служба B отправляет http-запрос на http: // service-a-base-url / health, а служба A - на http: // service-b-base-url / health.

Если обе службы работают на одном хосте, вы можете использовать фильтрацию портов, чтобы каждая конечная точка проверки работоспособности службы прослушивала другой порт. И вы также можете использовать localhost в качестве имени хоста в обоих случаях только с другим портом. См. Также этот ответ: https://stackoverflow.com/a/57906886/7730554

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

person afh    schedule 07.08.2020
comment
Я создал две размещенные службы ClientA и ClientB. Как я могу проверить работоспособность clientB из приложения clientA и clientA из приложения clientB? - person Arshit Singh; 07.08.2020
comment
Я добавил к своему ответу дополнительную информацию. Также просмотрите документацию, на которую я ссылаюсь в своем ответе, там вы также можете найти образцы кода для добавления конечной точки проверки работоспособности. Для выполнения http-вызовов для вызова точек проверки работоспособности ваших служб, пожалуйста, загляните в docs.microsoft.com/en-us/dotnet/csharp/tutorials/ - person afh; 07.08.2020