Elasticsearch

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 才行。

参数说明 #

名称类型说明
namestringElasticsearch 集群名称
enabledbool是否启用
endpointstring访问地址
basic_authobject身份认证信息
basic_auth.usernamestring用户名
basic_auth.passwordstring密码
discoveryobject集群发现设置
discovery.enabledbool是否启用集群拓扑发现
discovery.refreshobject集群拓扑更新设置
discovery.refresh.enabledbool是否启用集群拓扑自动更新
discovery.refresh.intervalstring集群拓扑自动更新时间间隔
traffic_controlobject集群按节点级别的总体流量控制
traffic_control.max_bytes_per_nodeint最大允许的每秒请求字节数
traffic_control.max_qps_per_nodeint最大允许的每秒请求次数,不区分读写