You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apisix.apache.org by 指尖旳〃圊舂 ︶ <24...@qq.com> on 2020/08/20 09:59:20 UTC
回复: [DISCUSS]Modify the manager-api DB from mysql to sqllite
When we deploy, we need too much skill
golang mysql nodejs reactjs nginx openresty lua etcd shell
Can we try to make APIs IX easier to use
------------------ 原始邮件 ------------------
发件人: "Ming Wen"<wenming@apache.org>;
发送时间: 2020年8月20日(星期四) 下午5:33
收件人: "dev"<dev@apisix.apache.org>;
主题: Re: [DISCUSS]Modify the manager-api DB from mysql to sqllite
That will be great if we can remove RDS.
Thanks,
Ming Wen, Apache APISIX & Apache SkyWalking
Twitter: _WenMing
vincixu <vinci@apache.org> 于2020年8月20日周四 下午4:30写道:
> Relational database is not the only way.k8s implement all features(RBAC,
> ABAC, cascade) we need but no relational databases.
> Keep configuration in two places, it will bring a hard problem: how to
> keep consistency.A problem that engineers have struggled for many years but
> there has been no easy solution until now,I think it’s not worth
> introducing such a problem to implement the mentioned features.
> ( I also have never seen a project using etcd and relational storage at the
> same time to store the same data, )
>
> wei jin <kvn@apache.org> 于2020年8月20日周四 下午4:04写道:
>
> > We need a relational database to do some function extensions to meet some
> > practical needs, such as authority management. But we also hope to keep
> > apisix sufficiently convergent and focus on a high-performance gateway.
> > APISIX should not be affected by external function extensions.
> >
> > vincixu <vinci@apache.org> 于2020年8月20日周四 下午3:53写道:
> >
> > > 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 <membphis@apache.org> 于2020年8月20日周四 下午12:30写道:
> > >
> > > > On Thu, Aug 20, 2020 at 11:42 AM vincixu <vinci@apache.org> 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 <membphis@apache.org> 于2020年8月20日周四 上午11:29写道:
> > > > >
> > > > > > On Thu, Aug 20, 2020 at 10:57 AM vincixu <vinci@apache.org>
> 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 <justin@classsoftware.com> 于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
> > > >
> > >
> >
>