Network & Traffic Management
Network and Traffic Management is a critical function in a cloud application. It includes fine-grained traffic control, retry policies, circuit breakers, and fault injection.
Developers are required to manually configure traffic management policies (circuit breaker, retry policies) for each Docker container. Developers also need to add service information in service mesh resources (virtual service, destination rule). This is a manual and tedious job.
The following are YAML Config file snippets for Circuit Breakers and Retry policy, for a single container.
apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name:
namespace: spec: host: . .svc.cluster.local trafficPolicy: connectionPool: tcp: maxConnections: 1 http: http1MaxPendingRequests: 1 maxRequestsPerConnection: 1 outlierDetection: consecutiveErrors: 1 interval: 1s baseEjectionTime: 3m maxEjectionPercent: 100
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name:
spec: hosts: - . .svc.cluster.local http: - route: - destination: host: . .svc.cluster.local subset: v1 retries: attempts: 3 perTryTimeout: 2s retryOn: //for example gateway-error,connect-failure,refused-stream
How CloudPlex addresses your pain
With CloudPlex, developers only need to provide a few configurations of retry policies, circuit breakers, and fault injection. CloudPlex automatically creates and configures the resources (virtual service, destination rule) for each Docker container. CloudPlex also adds service information, as shown in the screenshot below