Details

    • Type: New Feature
    • Status: Open
    • Priority: Desirable
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Service, Supervisor
    • Labels:
      None
    • OS:
      Linux

      Description

      Post release goodies... Introduction of a "circuit breaker" pattern of supervision for Service entities.

      This comes in two flavours.

      1. an FSM in front of the protected service, which controls service restarts once they fail (based on supervision).
      2. a Circuit Breaker that detects error in underlying sub-systems and avoids making further queries.

      API Examples:

      case circuit_breaker:call(db, "select * from my_table;") of
              off ->
                  error_logger:error_msg("database unavailable"); 
                  {error, db_unavailable};
              {ok, Result} ->
                  Result
      end
      

      Motivation & differences from Supervisor....

      Allows you to call a service via the middle-man, providing better isolation between subsystems, reducing timeouts and making per sub-system monitoring easier. Dealing with cascading errors.

      Relies on Supervisor, is a new API (and possible more than one new supporting service).

      All post release...

        Attachments

          Activity

            People

            • Assignee:
              hyperthunk Tim Watson [Administrator]
              Reporter:
              hyperthunk Tim Watson [Administrator]
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:

                Time Tracking

                Estimated:
                Original Estimate - 2 weeks
                2w
                Remaining:
                Remaining Estimate - 2 weeks
                2w
                Logged:
                Time Spent - Not Specified
                Not Specified