... | ... | @@ -92,6 +92,22 @@ https://blog.csdn.net/qq_29974229/article/details/127012006 |
|
|
|
|
|
|
|
|
|
|
|
One thing puzzled me. How do people find out how to implement an EDS? The answer may lie here:
|
|
|
```
|
|
|
Endpoint discovery service (EDS)
|
|
|
|
|
|
The endpoint discovery service is a xDS management server based on gRPC or REST-JSON API server used by Envoy to fetch cluster members. The cluster members are called “endpoint” in Envoy terminology. For each cluster, Envoy fetch the endpoints from the discovery service. EDS is the preferred service discovery mechanism for a few reasons:
|
|
|
|
|
|
Envoy has explicit knowledge of each upstream host (vs. routing through a DNS resolved load balancer) and can make more intelligent load balancing decisions.
|
|
|
|
|
|
Extra attributes carried in the discovery API response for each host inform Envoy of the host’s load balancing weight, canary status, zone, etc. These additional attributes are used globally by the Envoy mesh during load balancing, statistic gathering, etc.
|
|
|
|
|
|
The Envoy project provides reference gRPC implementations of EDS and other discovery services in both Java and Go.
|
|
|
```
|
|
|
**NOTE**! Reference implementations! In Java and **[Go](https://github.com/envoyproxy/go-control-plane)**.
|
|
|
|
|
|
|
|
|
|
|
|
# further reading
|
|
|
- [Better External Authorization](https://docs.google.com/document/d/1V4mCQCw7mlGp0zSQQXYoBdbKMDnkPOjeyUb85U07iSI/edit)
|
|
|
|