Hello,

I agree with this.

> you may change the HTTP router back
to the radixtree_uri.

So do you mean that we can have a configuration to set the default router?



Zeping Bai <bzp2...@apache.org> 于2022年11月18日周五 13:37写道:

> I totally agree with this and it has caused a lot of trouble for our users.
>
> But AFAIK, this could affect performance, so we have to evaluate the scope
> and extent
> of the impact and whether this modification will work well with existing
> modules like AI.
>
> Best regards!
> Zeping Bai  @bzp2010
>
> Chao Zhang <tok...@apache.org> 于2022年11月15日周二 13:48写道:
>
> > Hi, community,
> >
> > I'd like to talk with you guys about changing the default HTTP router
> > from radixtree_uri to radixtree_host_uri.
> >
> > Let me just explain the differences between them. The radixtree_uri
> > router matches API requests with the existing route tree by URI path,
> > While the radixtree_host_uri matches the HTTP host and then matches
> > the URI path.
> >
> > So when Apache APISIX uses radixtree_uri as the default HTTP router,
> > there is a confusing scenario (even we can say it's a bug): Let's say
> > we have two routes, the first one requires the host matches
> > *.example.com, and the URI path is /anything, And the second one needs
> > the host matches foo.example.com exactly, and the URI path is also
> > /anything. In such a case, if we send an API request, we may hit the
> > first route, which is counterintuitive.
> >
> > We also have a lot of voices from the community that users have been
> > in trouble since they think Apache APISIX will consider the HTTP host
> > match by default. However, it's not the case. So I'm here to propose
> > changing the default HTTP router to radixtree_host_uri.
> >
> > I know this is a broken change, so we may have to do this in 3.x
> > releases and may not back it port to the 2.15 LTS version.
> >
> > By the way, the radixtree_uri may have better performance than
> > radixtree_host_uri, so if we really change the default HTTP router, we
> > also need to give users a hint that: if they want better performance
> > or you are making a stress test, you may change the HTTP router back
> > to the radixtree_uri.
> >
> > What's your idea?
> >
> > Best regards
> > Chao Zhang
> >
> > https://github.com/tokers
> >
>

Reply via email to