Hi, SGTM on my side.
JunXu Chen <chenju...@apache.org>于2022年3月29日 周二10:48写道: > # Background > At present, the connection between the Manager API and etcd still follows > the habit of the etcd v2 version, creating a watch connection for each > resource, which will generate a large number of connections. > > # Purpose > Reduce connections between Manager API and etcd, to reduce the load on etcd > services. > > # Proposal > In the `Generic Store`, each resource still manages its own cache > separately, but no longer connects directly to etcd. Added a unified method > of listing full data and watching changes, and the obtained data is > uniformly distributed to the Store instances of each resource. > After optimization, the workflow of `Generic Store` initialization is as > follows: > 1. Create a resource prefix mapping table > 2. Initialize each resource Store object and register itself in the > resource prefix mapping table > 3. Read the full amount of data, find the corresponding resource according > to the key prefix, and distribute the data to the Store object of each > resource > 4. Watch the etcd prefix configured in `conf.yaml`, when obtaining the > changed data, find the corresponding resource according to the key prefix, > and distribute the data to the Store object of the resource. > > # Further action > Reduce connections between Apache APISIX and etcd (a new proposal is > needed) > > I also drew a flow chart of the comparison before and after optimization in > the issue. Welcome to view it and discuss in the issue[1]. > > Thanks! > > > [1] https://github.com/apache/apisix-dashboard/issues/2396 > -- Best regards Chao Zhang https://github.com/tokers