<p>I have read the docs, but seem not able to understand differences between Mixer and Pilot. Is there any overlap? I mean I would like to draw a definite boundary between them to understand their responsibilities and with respect to their communication with the envoy proxies in the mesh. Please add examples of different use-cases if possible.</p>

soupybionics
<p>The Istio Service Mesh provides the following functionalities:</p>

<ol>
<li>Routing. For example 90% of the traffic goes to the version 1 of a
microservice and the remaining 10% goes to the version 2. Or some
specific requests go to the version 1 and all the others to the
version 2, according to some condition. And also: a) rewrite  b)
redirect </li>
<li>Support for microservices development, deployment and testing: a) timeouts b) retries c) circuit breakers d) load balancing e) fault injection for testing    </li>
<li>Reporting: Logging, Distributed Tracing, Telemetry</li>
<li>Policy enforcement</li>
<li>Secure communication between micro services and strong identity.</li>
</ol>

<p>Pilot is responsible for the items 1 and 2.  Mixer is responsible for the items 3 and 4. Citadel (previously CA, previously Auth) is responsible for the item 5. </p>

<p>Envoy, the sidecar proxy, gets its routing and configuration tables from Pilot to implement the items 1 and 2. Envoy reports to Mixer about each request, to implement the item 3. Envoy asks Mixer to allow or forbid requests, to implement the item 4. Envoy gets certificates from Citadel to implement the item 5. </p>
