Consumer Groups
#
描述通过 Consumer Groups,你可以在同一个消费者组中启用任意数量的插件,并在一个或者多个消费者中引用该消费者组。
#
配置示例以下示例展示了如何创建消费者组并将其绑定到消费者中。
curl http://127.0.0.1:9180/apisix/admin/consumer_groups/company_a \
-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"plugins": {
"limit-count": {
"count": 200,
"time_window": 60,
"rejected_code": 503,
"group": "$consumer_group_id"
}
}
}'
curl http://127.0.0.1:9180/apisix/admin/consumers \
-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"username": "jack",
"plugins": {
"key-auth": {
"key": "auth-one"
}
},
"group_id": "company_a"
}'
当 APISIX 无法找到 group_id
中定义的消费者组时,创建或者更新消费者的请求将会终止,并返回错误码 404
。
如果消费者已经配置了 plugins
字段,那么消费者组中配置的插件将与之合并。
tip
如下示例,假如你配置了一个消费者组:
“Consumer
{
"id": "bar",
"plugins": {
"response-rewrite": {
"body": "hello"
}
}
}
并配置了消费者:
“Consumer”
{
"username": "foo",
"group_id": "bar",
"plugins": {
"basic-auth": {
"username": "foo",
"password": "bar"
},
"response-rewrite": {
"body": "world"
}
}
}
那么 response-rewrite
中的 body
将保留 world
。