The mixer exposes three gRPC methods: Check, Report, and Quota.
All three methods use a consistent request style consisting of two
pieces of state:
-
Request Identification. An integer generated by the caller that uniquely identifies the particular request. This value is returned by the mixer in the response message which makes it possible for the caller to correlate incoming responses with the original requests it sent out.
-
Attributes. A map of name/value pairs describing information discovered and/or known by the caller. The various policies enforced by the mixer are applied based on these attributes.
To learn more...
Service preconditions are used to restrict a service consumer's access to a service's facilities. For example, a service may need to ensure the caller is on a whitelist or not on a blacklist, or that the caller has valid credentials, etc.
The Istio mixer provides a simple Check call used to verify
preconditions. The results of a precondition check are highly
cachable and mixer clients are expected to do so for best
performance. The infrastructure is designed to facilitate this.
Once you have published a managed service, you can call the
Check method for the service without additional configuration.
The following example shows the shape of a request to perform a
single check:
TBD
The response from the Check method indicates whether the check succeeded.
The Istio mixer can be used to send logs to both service producers and service consumers. The mixer accepts structured or unstructured log data, which it batches and forwards to the appropriate configured monitoring backend such as 'Stackdriver Logging'.
Whereas Stackdriver Logging and similar systems allow a service to produce logs for
the sake of the service's producer, the Istio mixer also lets you
produce logs that are intended for the service consumers.
This makes it possible for service consumers to understand and diagnose their
use of the service.
The Istio mixer can be used to produce monitoring data to send to service producers and service consumers. Monitoring provides visibility into the performance, uptime, and overall health of individual services.
The mixer accepts metrics, which it batches and aggregates and forwards to the appropriate configured monitoring backend such as 'Stackdriver Monitoring'.
Whereas Stackdriver Monitorring and similar systems allow a service to
produce monitoring data for the sake of the service's producer, the Istio mixer is
designed to also produce monitoring data which is intended for the service's consumers.
This makes it possible for service consumers to understand and diagnose use
of the service.
TBD