I don't think a lot of routes is a good practice.
But we can discuss how many routes APISIX plans to support. There is no
pressure on the front-end sorting of records less than 50,000 records(Our
team way).
If we plan to support large rotes query,  paging and so on, we can load the
data into memory, and then simulate query and paging in the backend instead
of depend on another storage (the k8s apiserver way),
if we really need a storage that is easy to query, why not directly use it
as the configuration library of APISIX? Just like tyk did( using mongo as
configuration storage).
It is very dangerous and inelegant to keep duplicate configuration even in
different storage media.

YuanSheng Wang <[email protected]> 于2020年8月20日周四 下午12:30写道:

> On Thu, Aug 20, 2020 at 11:42 AM vincixu <[email protected]> wrote:
>
> > >  support search and paging, etcd cannot support such features.
> > back-end search and paging is unnecessary, we can implement it in the
> > front-end, because users will not have too many configurations.
> >
>
> > because users will not have too many configurations
>
> Apache APISIX can support a large number of routes, which is an important
> feature for our users.
>
> Another case:
>
> the `service` or `upstream` object can be bound in `route`, when we need to
> delete the `service`
> or `upstream` object, we need to confirm there is no route using it. if we
> are using RDS, its easy for
> this case.
>
> If we only use etcd, it is hard to support this case too.
>
>
> >
> > YuanSheng Wang <[email protected]> 于2020年8月20日周四 上午11:29写道:
> >
> > > On Thu, Aug 20, 2020 at 10:57 AM vincixu <[email protected]> wrote:
> > >
> > > > I haven't followed APISIX Dashboard until I saw this email.
> > > > In my opinion, APISIX Dashboard should not rely on storage other than
> > > ETCD
> > > > or even ManagerAPI, which will increase the overall complexity.
> > > >
> > >
> > > `manager api` relies on relational databases, because some data needs
> to
> > > support search and paging, etcd cannot support such features.
> > >
> > > For the `route.name` field, it is necessary to ensure that it is
> unique
> > > among all routes, which cannot be implemented in etcd.
> > >
> > >
> > > > This is really not a good idea. Dashboard should be kept simple and
> > easy
> > > to
> > > > deploy, not another huge application.
> > > >
> > > > Justin Mclean <[email protected]> 于2020年8月20日周四 上午10:05写道:
> > > >
> > > > > HI,
> > > > >
> > > > > Last I looked mysql was also GPL which is not compatible with the
> > > Apache
> > > > > License. I assume this is an optional dependancy?
> > > > >
> > > > > Thanks,
> > > > > Justin
> > > >
> > >
> > >
> > > --
> > >
> > > *MembPhis*
> > > My GitHub: https://github.com/membphis
> > > Apache APISIX: https://github.com/apache/incubator-apisix
> > >
> >
>
>
> --
>
> *MembPhis*
> My GitHub: https://github.com/membphis
> Apache APISIX: https://github.com/apache/incubator-apisix
>

Reply via email to