• ElasticSearch 应用开发Transport Client和Rest Client网络协议


    Elasticsearch计划在Elasticsearch 7.0中弃用TransportClient,在8.0中完全删除它。故在实际使用过程中建议您使用Java高级REST client。Rest client执行HTTP请求来执行操作,无需再序列化的Java请求。

    TransportClient:java客户端的方式是以TCP协议在9300端口上进行通信:

    java transportClient api提供了Query Builder来协助构建查询对象;

    基于java api封装的orm框架,封装比较死板,不太灵活,兼容性差,不能像调用restful那样直接操作query dsl,所以也不能直接针对query dsl,在head插件或者kibana里面调试和调优query dsl,写出了query dsl还要想方设法转换成对应的java api的调用方式。

    RestClient:http客户端的方式是以http协议在9200端口上进行通信,

    http则需要自己在代码里拼JSON DSL;

    基于restful的,直接操作各种restful api和query dsl,比较简单,没有orm功能;

    网络

    TransportClient基于TCP协议、Rest Client 基于Http协议;

    从计算机网络方面看TCP协议在传输层、Http协议在应用层;

    线程池

    不管是transport client还是rest client都是线程安全的,都应该使用单例。

  • 相关阅读:
    安装paramiko
    pip安装
    json
    java的枚举2
    java学习笔记1
    Myeclipse配置tomcat,以及简单的Myeclipse的配置
    Net分布式系统之四:RabbitMQ消息队列应用
    Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用
    Net分布式系统之二:CentOS系统搭建Nginx负载均衡(下)
    Spring简介
  • 原文地址:https://www.cnblogs.com/chong-zuo3322/p/13428068.html
Copyright © 2020-2023  润新知