You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2020/04/15 07:47:00 UTC

[GitHub] [incubator-apisix] stone4774 opened a new issue #1452: feature: Load balancing of weighted-upstream

stone4774 opened a new issue #1452: feature:  Load balancing of weighted-upstream 
URL: https://github.com/apache/incubator-apisix/issues/1452
 
 
   Currently, it only supports the weight configuration of different nodes in an upstream; it is usually used to adapt to the differences in the capabilities of each node; what is needed now is that different versions of a service can carry out load balancing according to different weights;            
   
   In the current architecture model, upstream can take the role of service version very well. We only need to support multiple weighted-upstreams

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [apisix] spacewander commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
spacewander commented on issue #1452:
URL: https://github.com/apache/apisix/issues/1452#issuecomment-762075038


   Can be simulated with traffic-split plugin.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] stone4774 edited a comment on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
stone4774 edited a comment on issue #1452: feature:  Load balancing of weighted-upstream 
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-614516119
 
 
   When a service publishes a new version, you can create a new upstream (similar to the cluster in envoy) for the instance of the new version, configure it to the service, and specify the weight as follows:
   
   curl http://127.0.0.1:9080/apisix/admin/services/200 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
   {
       "weighted_upstreams": {
           "total_weight": 100,
           "upstream_ids":[
               {
                    "upstream_id":1,
                    "weight": 99
               },{
                    "upstream_id":2,
                    "weight": 1
               }
           ]
       }
   }'
   
   I think it's very important, but at present, apsix doesn't support it. Now if I want to use a small amount of traffic to verify the new version, I have to find some routes with small traffic to try, but these traffic is selective and can't cover all situations
   
   We can refer to the implementation of envoy:
   https://www.envoyproxy.io/docs/envoy/v1.14.0/configuration/http/http_conn_man/traffic_splitting
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [apisix] spacewander closed issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
spacewander closed issue #1452:
URL: https://github.com/apache/apisix/issues/1452


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] moonming commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
moonming commented on issue #1452: feature:  Load balancing of weighted-upstream 
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-613877925
 
 
   @stone4774 can you show a example? thx

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-apisix] stone4774 commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
stone4774 commented on issue #1452: feature:  Load balancing of weighted-upstream 
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-614516119
 
 
   When a service publishes a new version, you can create a new upstream (similar to the cluster in envy) for the instance of the new version, configure it to the service, and specify the weight as follows:
   
   curl http://127.0.0.1:9080/apisix/admin/services/200 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
   {
       "weighted_upstreams": {
           "total_weight": 100,
           "upstream_ids":[
               {
                    "upstream_id":1,
                    "weight": 99
               },{
                    "upstream_id":2,
                    "weight": 1
               }
           ]
       }
   }'
   
   I think it's very important, but at present, apsix doesn't support it. Now if I want to use a small amount of traffic to verify the new version, I have to find some routes with small traffic to try, but these traffic is selective and can't cover all situations
   
   We can refer to the implementation of envoy:
   https://www.envoyproxy.io/docs/envoy/v1.14.0/configuration/http/http_conn_man/traffic_splitting
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-apisix] membphis commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
membphis commented on issue #1452:
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-642423155


   @stone4774 any news?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] stone4774 commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
stone4774 commented on issue #1452:
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-631821756


   I have implemented this requirement by using plug-ins, but I think it is more reasonable to integrate directly internally; I will bring it up in a few days


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] stone4774 edited a comment on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
stone4774 edited a comment on issue #1452:
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-614516119


   @moonming 
   
   When a service publishes a new version, you can create a new upstream (similar to the cluster in envoy) for the instance of the new version, configure it to the service, and specify the weight as follows:
   
   curl http://127.0.0.1:9080/apisix/admin/services/200 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
   {
       "weighted_upstreams": {
           "total_weight": 100,
           "upstream_ids":[
               {
                    "upstream_id":1,
                    "weight": 99
               },{
                    "upstream_id":2,
                    "weight": 1
               }
           ]
       }
   }'
   
   I think it's very important, but at present, apsix doesn't support it. Now if I want to use a small amount of traffic to verify the new version, I have to find some routes with small traffic to try, but these traffic is selective and can't cover all situations
   
   We can refer to the implementation of envoy:
   https://www.envoyproxy.io/docs/envoy/v1.14.0/configuration/http/http_conn_man/traffic_splitting
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] membphis commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
membphis commented on issue #1452:
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-635203222


   that is cool, waiting for your PR ^_^


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] membphis commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
membphis commented on issue #1452:
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-628737895


   LGTM too, that is a good feature


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] stone4774 edited a comment on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
stone4774 edited a comment on issue #1452:
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-614516119


   @moonming 
   
   When a service publishes a new version, you can create a new upstream (similar to the cluster in envoy) for the instance of the new version, configure it to the service, and specify the weight as follows:
   
   ```
   curl http://127.0.0.1:9080/apisix/admin/services/200 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
   {
       "weighted_upstreams": {
           "total_weight": 100,
           "upstream_ids":[
               {
                    "upstream_id":1,
                    "weight": 99
               },{
                    "upstream_id":2,
                    "weight": 1
               }
           ]
       }
   }'
   ```
   
   I think it's very important, but at present, apsix doesn't support it. Now if I want to use a small amount of traffic to verify the new version, I have to find some routes with small traffic to try, but these traffic is selective and can't cover all situations
   
   We can refer to the implementation of envoy:
   https://www.envoyproxy.io/docs/envoy/v1.14.0/configuration/http/http_conn_man/traffic_splitting
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] moonming commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
moonming commented on issue #1452:
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-619471073


   LGTM. This is an implementation of the AB test, no more routing level to set conditions.
   @membphis what do you think?
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-apisix] moonming commented on issue #1452: feature: Load balancing of weighted-upstream

Posted by GitBox <gi...@apache.org>.
moonming commented on issue #1452:
URL: https://github.com/apache/incubator-apisix/issues/1452#issuecomment-619471100


   @stone4774 welcome PR, thx


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org