service-fabric-healer/FabricHealerProxy.md

2.0 KiB

FabricHealerProxy 1.0.5

FabricHealerProxy is a .NET 6 library that provides a very simple and reliable way for any .NET Service Fabric service to initiate Service Fabric entity repair by the FabricHealer service running in the same cluster. It is assumed that you have experience with FabricHealer and understand how to use it.

How to use FabricHealerProxy

The API is very simple, by design. For example, this is how you would initiate a repair for a service running on a specified Fabric node:

var serviceRepairFacts = new RepairFacts
{
    ServiceName = "fabric:/GettingStartedApplication/MyActorService",
    NodeName = "appnode4"
};

await FabricHealerProxy.Instance.RepairEntityAsync(serviceRepairFacts, cancellationToken);

FabricHealerProxy will use the information you provide - even when it is as terse as above - to generate all the facts that FabricHealer needs to successfully execute the related entity-specific repair as defined in logic rules. If any of the related logic rules succeed, then FH will orchestrate Service Fabric's RepairManager service through to repair job completion, emitting repair step information via telemetry, local logging, and etw along the way. The above sample is all that is needed to restart a service running on a Fabric node named appnode4, for example. Of course, it depends on what the FabricHealer logic dictates, but you define that in FabricHealer with user configuration - that also happens to be logic programming :)