{{chain.ServiceName}} Router
Use routers to intercept traffic using L7 criteria such as path prefixes or http headers.
{{#each routes as |item|}}
{{/each}}
Splitters
Splitters are configured to split incoming requests across different services or subsets of a single service.
{{#each (sort-by 'Name' splitters) as |item|}}
{{/each}}
Resolvers
Resolvers are used to define which instances of a service should satisfy discovery requests.
{{#each (sort-by 'Name' resolvers) as |item|}}
{{/each}}
{{#each routes as |item|}} {{#let (dom-position (concat '#' item.ID)) as |src|}} {{#let (dom-position (concat '#' item.NextNode)) as |destRect|}} {{#let (tween-to (hash x=destRect.x y=(add destRect.y (div destRect.height 2)) ) (concat item.ID)) as |dest|}}
' item.NextNode}} d={{ svg-curve (hash x=dest.x y=dest.y ) src=(hash x=(add src.x src.width) y=(add src.y (div src.height 2)) )}} /> {{/let}} {{/let}} {{/let}} {{/each}} {{#each splitters as |splitter|}} {{#let (dom-position (concat '#' splitter.ID)) as |src|}} {{#each splitter.Splits as |item index|}} {{#let (dom-position (concat '#' item.NextNode)) as |destRect|}} {{#let (tween-to (hash x=destRect.x y=(add destRect.y (div destRect.height 2)) ) (concat splitter.ID '-' index)) as |dest|}}
' item.NextNode}} class="split" data-percentage={{or item.Weight 0}} d={{ svg-curve (hash x=dest.x y=dest.y ) src=(hash x=(add src.x src.width) y=(add src.y (div src.height 2)) )}} /> {{/let}} {{/let}} {{/each}} {{/let}} {{/each}}
{{#each routes as |item|}} {{#if (starts-with 'resolver:' item.NextNode) }} {{#let (dom-position (concat '#' item.NextNode)) as |dest|}}
{{/let}} {{/if}} {{/each}} {{#each splitters as |item|}} {{#each item.Splits as |item|}} {{#let (dom-position (concat '#' item.NextNode)) as |dest|}}
{{/let}} {{/each}} {{/each}}
{{#each routes as |item|}} {{#if (starts-with 'splitter:' item.NextNode) }} {{#let (dom-position (concat '#' item.NextNode)) as |dest|}}
{{/let}} {{/if}} {{/each}}
{{round tooltip decimals=2}}%