nice feature, +1

On Mon, Sep 14, 2020 at 11:54 AM Ming Wen <[email protected]> wrote:

> cool, +1
>
> Thanks,
> Ming Wen, Apache APISIX & Apache SkyWalking
> Twitter: _WenMing
>
>
> wei jin <[email protected]> 于2020年9月14日周一 上午11:16写道:
>
> > yes,  APISIX implement all feature in route object now, I think it is
> also
> > useful to implement in a plugin , and they can be combined to use
> together.
> >
> > Ming Wen <[email protected]> 于2020年9月14日周一 上午9:17写道:
> >
> > > Hi, wei jin,
> > > Do you mean to implement routing matching and dynamically modifying
> > > upstream in the plugin?
> > > Both of them are implemented in the router object now.
> > > So the canary release is now bound to the router. It would be better if
> > > there is a separate plugin to implement it.
> > >
> > > Thanks,
> > > Ming Wen, Apache APISIX & Apache SkyWalking
> > > Twitter: _WenMing
> > >
> > >
> > > wei jin <[email protected]> 于2020年9月12日周六 下午4:51写道:
> > >
> > > > As we know , APISIX can configure and distribute traffic through
> > powerful
> > > > routing strategies. With this capability, we can achieve grayscale
> > > > publishing.
> > > >
> > > > After the route is determined, we can again control the traffic to
> the
> > > > specified upstream through a plug-in, but it needs to be customized.
> I
> > > > propose that the community implement a version of the gray plug-in
> that
> > > > provides the following functions:
> > > >
> > > > 1. Specify matching conditions (for example, kv pairs of http
> > > querystring,
> > > > header and other parameters)
> > > > 2. When a certain matching condition is met, specify upstream;
> > > > 3. Specify the condition matching priority;
> > > >
> > > > Definition example:
> > > >
> > > > ```javascript
> > > > {
> > > > "grayscale":{
> > > > "rules": [
> > > > {
> > > > "condition": [
> > > > {
> > > > "use": "header", // enum: uri_args/header/path_reg/default
> > > > "key": "user_id",
> > > > "values": [
> > > > "U1",
> > > > "U2",
> > > > "U3"
> > > > ],
> > > > "operator": "anyOf" // enum: oneOf/anyOf/prefix/regular/...
> > > > },
> > > > ...
> > > > ],
> > > > "upstream": {},// upstream or upstreamId
> > > > "priority": 10 // 0~100 The larger the value, the higher the priority
> > > > },
> > > > {
> > > > "condition": [
> > > > {
> > > > "use": "header", // enum: uri_args/header/path_reg/default
> > > > "key": "appkey",
> > > > "values": [
> > > > "dfaef-xfdafe-xj1kl3-1-jhilh1",
> > > > "dfaef-xfdafe-xj1kl3-2-jhilh1",
> > > > "dfaef-xfdafe-xj1kl3-3-jhilh1"
> > > > ],
> > > > "operator": "anyOf" // enum: oneOf/anyOf/prefix/regular/...
> > > > },
> > > > ...
> > > > ],
> > > > "upstream": {},// upstream or upstreamId
> > > > "priority": 10 // 0~100 The larger the value, the higher the priority
> > > > }
> > > > ...
> > > > ]
> > > > }
> > > > }
> > > > ```
> > > >
> > >
> >
>


-- 

*MembPhis*
My GitHub: https://github.com/membphis
Apache APISIX: https://github.com/apache/incubator-apisix

Reply via email to