Elasticsearch #
定义资源 #
极限网关支持多集群的访问,支持不同的版本,每个集群作为一个 Elasticsearch 后端资源,可以后续被极限网关的多个地方使用,以下面的这个例子为例:
elasticsearch:
- name: local
enabled: true
endpoint: https://127.0.0.1:9200
- name: dev
enabled: true
endpoint: https://192.168.3.98:9200
basic_auth:
username: elastic
password: pass
- name: prod
enabled: true
endpoint: http://192.168.3.201:9200
discovery:
enabled: true
refresh:
enabled: true
interval: 10s
basic_auth:
username: elastic
password: pass
上面的例子定义了一个名为 local
的本地开发测试集群,和一个名为 dev
的开发集群。开发集群开启了身份验证,这里也定义了相应的用户名和密码。
最后还定义了一个名为 prod
的生产集群,并且通过参数 discovery
开启了集群的节点拓扑自动发现和更新。
注意,如果 Elasticsearch 配置的是https
协议,那么entry
也必须启用TLS
才行。
参数说明 #
名称 | 类型 | 说明 |
---|---|---|
name | string | Elasticsearch 集群名称 |
enabled | bool | 是否启用 |
endpoint | string | 访问地址 |
basic_auth | object | 身份认证信息 |
basic_auth.username | string | 用户名 |
basic_auth.password | string | 密码 |
discovery | object | 集群发现设置 |
discovery.enabled | bool | 是否启用集群拓扑发现 |
discovery.refresh | object | 集群拓扑更新设置 |
discovery.refresh.enabled | bool | 是否启用集群拓扑自动更新 |
discovery.refresh.interval | string | 集群拓扑自动更新时间间隔 |
traffic_control | object | 集群按节点级别的总体流量控制 |
traffic_control.max_bytes_per_node | int | 最大允许的每秒请求字节数 |
traffic_control.max_qps_per_node | int | 最大允许的每秒请求次数,不区分读写 |