LGTM, Avoid etcd cluster with too many connections.

Qi Guo <guoq...@gmail.com> 于2022年4月2日周六 10:08写道:

> Agree +1
>
> Leslie Tsang <les...@apache.org> 于2022年4月2日周六 09:54写道:
>
> > SGTM, This means that the etcd cluster can support more APISIX nodes than
> > ever before.
> >
> > Leslie Tsang
> > les...@apache.org
> >
> > > On 2 Apr 2022, at 9:51 AM, Wei Jiang <machowe...@gmail.com> wrote:
> > >
> > > LGTM, Agree +1
> > >
> > >> 2022年4月2日 上午8:52,Baoyuan <baoyuan....@gmail.com> 写道:
> > >>
> > >> Hi, I agree with that.
> > >>
> > >> Chao Zhang <tok...@apache.org> 于2022年4月2日周六 07:56写道:
> > >>
> > >>> 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
> > >>>
> > >
> >
> >
>

Reply via email to