Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1.Introduction      


    Manage New scheduler's invoker healthy management, invokerHealthyManager actor will send the memory info(e.g. freeMemory, inprogressMemory, busyMemory) and invoker healthy fsm state(e.g. down, up, unhealthy) together to etcd.

    Other components can use the healthy data

...

which stored into etcd as well, e.g. when send creationContainerMessage to invoker instance, relative component can get the healthy invokers from etcd.

2.Architecture Diagram

Image Modified

  1. When invoker starts, it creates a InvokerHealthManger actor with init state: Offline
  2. During FPCInvokerReactive initializing, it sends Enable message to InvokerHealthManger actor and InvokerHealthManger will goto(Unhealthy)
  3. During Unhealthy, InvokerHealthManger invokes test action: create healthyContainerProxy and send Initialize message to healthyContainerProxy
  4. healthyContainerProxy sends HealthMessage to invokerHealthyManager, if failed result invocation number < bufferErrorTolerance, goto(Healthy), at the same time, stop to invoke the test action.
  5. if FailtureMessage comes from FunctionPullingContainerProxy, invokerHealthyManager will goto(Offline), and starts to invoke test action again immediately
  6. FunctionPullingContainerPool sends MemoryInfo message to invokerHealthyManager periodically

  7. InvokerHealthyManager sends the memoryInfo and its fsm state to etcd
  8. If invokerHealthyMananager receives GracefulShutdown, it will goto(Offline)

...