Networking
medium
Pregunta de Networking #019e3a4f
Enunciado de la Pregunta
Networking
#service mesh
#service proxy
#control plane
#microservices
Medio
What components are common in a service mesh?
A
tracing and log storage
B
circuit breaking and Pod scheduling
C
data plane and runtime plane
D
service proxy and control plane
Correcto
Explicación Oficial / Explicaciones de la Comunidad
A service mesh is a dedicated infrastructure layer for handling service-to-service communication in microservices architectures. The two core components common to all service mesh implementations are the service proxy and the control plane.
How it Works
- Service Proxy: Typically deployed as a sidecar container alongside each service instance. It intercepts all inbound and outbound network traffic, enabling features like load balancing, service discovery, encryption (mTLS), and observability (metrics, tracing). Common proxies include Envoy, Linkerd-proxy, and NGINX.
- Control Plane: Manages and configures the proxies. It provides a centralized API for defining traffic routing rules, security policies, and telemetry collection. The control plane distributes configuration to proxies and collects aggregated metrics. Examples include Istio’s Pilot and Mixer, Linkerd’s controller, and Consul Connect.
Why the Correct Value is Right
- Service proxy and control plane are the fundamental building blocks. Without a proxy, traffic cannot be intercepted and managed; without a control plane, proxies cannot be dynamically configured. This pairing is consistent across all major service meshes (Istio, Linkerd, Consul Connect, Kuma).
Why the Incorrect Values are Wrong
- Tracing and log storage: While service meshes often provide observability features (distributed tracing, logs), these are not core components. Tracing and log storage are typically external systems (e.g., Jaeger, ELK stack) that consume data from the mesh but are not part of the mesh itself.
- Circuit breaking and Pod scheduling: Circuit breaking is a feature implemented by the proxy (e.g., Envoy supports circuit breakers), but it is not a component. Pod scheduling is a Kubernetes scheduler function, unrelated to service mesh.
- Data plane and runtime plane: The term "data plane" is correct (it refers to the proxies), but "runtime plane" is not a standard term in service mesh architecture. The correct counterpart is "control plane."