Class ResiliencePlugin
java.lang.Object
com.eqixiac.equinix.design.resilience.ResiliencePlugin
- All Implemented Interfaces:
DesignPlugin
Contributes the simulation-based resilience plug-ins to the Metro Optimizer:
- the
SimulatedResilienceObjective("simulated_resilience"), simulated only when the spec weights it; - the
MinSurvivalConstraint("min_survival"), inert unless a threshold is given here, by the spec'sconstraints.minSurvivalPct, or by the spec label "design.min_survival_pct" (the field wins over the label); - the
FailoverGeoZonesConstraint("geo_zones_failover"), inert unless the spec states geo zones.
Registered for DesignPlugin.discover(); or pass one explicitly:
MetroOptimizer.forSpec(fabric, spec).plugin(new ResiliencePlugin(options, 75.0)).run().
-
Constructor Summary
ConstructorsConstructorDescriptionDefault options; the survival threshold, if any, comes from the spec (field, else label).ResiliencePlugin(ResilienceOptions options, Double minSurvivalPct) -
Method Summary
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DesignPlugin
currencyConverterModifier and TypeMethodDescriptiondefault CurrencyConverterA currency converter this plug-in contributes (for example a live FX feed).
-
Constructor Details
-
ResiliencePlugin
public ResiliencePlugin()Default options; the survival threshold, if any, comes from the spec (field, else label). -
ResiliencePlugin
- Parameters:
options- graph and simulation optionsminSurvivalPct- the least share of service that must survive the worst single failure, 0..100, ornullto read the spec (constraints.minSurvivalPct, else the label)
-
-
Method Details
-
name
- Specified by:
namein interfaceDesignPlugin- Returns:
- a short name for diagnostics
-
objectives
- Specified by:
objectivesin interfaceDesignPlugin- Returns:
- objectives to add; never
null
-
constraints
- Specified by:
constraintsin interfaceDesignPlugin- Returns:
- constraints to add; never
null
-