У меня есть 2 размещенных сервиса, и я должен проверять состояние здоровья друг друга. Как реализовать проверку работоспособности в консольном приложении C # (размещенная служба). каковы параметры для проверки работоспособности размещенной службы.
Проверка работоспособности приложения консоли службы, размещенной на C #
Ответы (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
Примечание. Если речь идет о мониторинге ваших приложений, я бы посоветовал рассмотреть возможность централизованного мониторинга с использованием некоторой службы мониторинга, вместо того, чтобы ваши собственные приложения выполняли проверки работоспособности для целей мониторинга.