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
> > > }
> > > ...
> > > ]
> > > }
> > > }
> > > ```
> > >
> >
>

Reply via email to