Feiox

有没 Elasticsearch 的 Python 异步连接库啊?

  •  
  •   Feiox · Jun 12, 2015 · 7932 views
    This topic created in 4012 days ago, the information mentioned may be changed or developed.

    R.T.
    另外,看文档上说 elasticsearch 这个官方实现中,是使用长连接来实现通信的。
    如果改用 Tornade 内置的 http 访问功能,或者 request with gevent 的方式,每次都单独发起一个 http 请求,会对效率有多少影响?为什么官方不采用这种方式呢?
    (我在自己的电脑上测试,平均每次连接用时 1.5 ms 左右,对于动辄 100ms 的查询、1000ms 的搜索耗时来说,貌似并不是个事儿 ~)

    8 replies    2015-06-13 21:44:49 +08:00
    cevincheung
        1
    cevincheung  
       Jun 12, 2015
    elasticsearch能自己http访问添加数据?
    Feiox
        2
    Feiox  
    OP
       Jun 12, 2015
    @cevincheung 可以呀,通过 restful http api
    cevincheung
        3
    cevincheung  
       Jun 12, 2015
    @Feiox

    可以自己写个http接口然后让elasticsearch自己去访问http接口同步数据到es的库里?
    VYSE
        4
    VYSE  
       Jun 12, 2015
    直接用gevent monkey patch socket了
    sivacohan
        5
    sivacohan  
    PRO
       Jun 12, 2015 via Android
    需要异步上celery吧。比较通用的解决办法。
    Feiox
        6
    Feiox  
    OP
       Jun 12, 2015
    @cevincheung 额。。不是,我是说客户端,就是 python server 这边。。。囧rz
    @sivacohan 感觉既然 es 人家都提供了 restful http api 然后 Tornade 又提供了异步的 http client,然后……
    @VYSE 就是我说的 requests with gevent 啊。。。。这样频繁对 es 服务器发起请求,会不会有什么问题?
    VYSE
        7
    VYSE  
       Jun 12, 2015
    @Feiox 最好还是用gevent的queue加几个worker来负责请求es,不然的话会越来越卡。
    zts1993
        8
    zts1993  
       Jun 13, 2015
    先快速保存到数据库中(如mongo),然后用redis做个队列,再开一个程序去处理队列,,,,


    好像有点过于复杂了,是不是。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2843 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:26 · PVG 16:26 · LAX 01:26 · JFK 04:26
    ♥ Do have faith in what you're doing.