Transport Client vs Node Client

注:纯个人兴趣一字字翻译,如有错误,欢迎指正,版权所有,转载请注明出处 http://blog.csdn.net/lixiaofeng_24/article/details/47605625


如果你使用Java,你可能想知道什么时候用Transport Client,什么时候用Node Client。就像本书【1】最开始讨论的那样,transport client充当ES集群和你的应用直接的通信层,它知道API,并且能够在节点间自动轮循、帮你嗅探集群等等。但是它在集群外部,类似REST客户端。


Node Client,另一方面,事实上是集群中的一个节点(但是不存储数据,并且不能作为主节点),由于它是一个节点,它知道整个集群的状态(全部节点都在哪,哪些分片在哪些节点上等等),这意味着它执行API时可以少用一个网络跳跃。


这里有两个关于这两种客户端的使用案例:

1.如果你想让你的应用和集群分离,transport client是一个理想的选择。例如,如果你的集群快速创建和销毁连接,那么transport client比node client轻很多,因为它不是集群的一部分。

同样,如果你需要创建上千个连接,但是你不希望有上千个node client加入你的集群,transport client将是一个更好的选择。


2.在另一方面,如果你只需要几个长寿命的,能持久把对象连接到集群,node client会更高效一点,因为它知道集群的结构。但是它把你的应用绑定到集群中,所以从防火墙的角度说可能会造成问题。


注:【1】这里指《Elasticsearch权威指南》


原文地址:https://www.elastic.co/guide/en/elasticsearch/guide/current/_transport_client_versus_node_client.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值