node.js - Elasticsearch 中的连接池

标签 node.js elasticsearch

我们如何在 Node js 中为 Elasticsearch 配置连接池?用于处理实例故障和检测死 Node 。

如何在nodejs中自定义elasticsearch的Transport、ConnectionPool、Connections类。

最佳答案

新的 RC1 client 支持此功能

这里是一个例子:

'use strict'
// docker run -p 9200:9200 -p 9300:9300 --rm -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.7.0
const { Client } = require('@elastic/elasticsearch')
const client = new Client({
  nodes: ['http://127.0.0.1:9200/'],
  requestTimeout: 2000,
  sniffInterval: 500,
  sniffOnStart: true,
  sniffOnConnectionFault: true
})

client.on('sniff', (err, req) => {
  console.log('snif', err ? err.message : '', `${JSON.stringify(req.meta.sniff)}`)
})

setInterval(async () => {
  try {
    const info = await client.info()
    console.log(info.body.name)
  } catch (err) {
    console.log(err.message);
  }
}, 1500)

注意安装 v6:

“@elastic/elasticsearch”:“6.7.0-rc.1”,

关于node.js - Elasticsearch 中的连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55397782/

相关文章:

elasticsearch - Elasticsearch 中 bool 查询中 "must"的 Min_score

elasticsearch - elasticsearch 1.7分组存储桶,具有多字段连接

node.js - Nodejs - Postgres - 通知 - 错误绑定(bind)消息

javascript - url-to-image 渲染我尝试的每个 URL,除了我需要的 URL

javascript - 在异步函数中抛出的错误被捕获

node.js - NodeJS : TCP socket server only returns data the first time

json - 如何转换表中的 Elasticsearch json 输出?

javascript - 如何从指纹扫描仪获取数据到NodeJS应用程序?

elasticsearch - geo_ip kibana索引和logstash过滤器

elasticsearch - 使用 discovery-ec2 设置 Elasticsearch 7 集群