qq446015875
V2EX  ›  DevOps

弱弱问一下,为何 etcd 使用 HTTP+Json 而不是 TCP 或者 UDP 呢?前者不是更消耗带宽么?

  •  
  •   qq446015875 · Apr 2, 2015 · 6249 views
    This topic created in 4064 days ago, the information mentioned may be changed or developed.
    6 replies    2015-04-02 17:25:47 +08:00
    eric
        1
    eric  
       Apr 2, 2015
    对于这种一般跑在内网的应用瓶颈不会出现在带宽上,再造一套轮子的意义不大。
    Septembers
        2
    Septembers  
       Apr 2, 2015 via Android
    延时问题 比 带宽开销问题 更大
    bearice
        3
    bearice  
       Apr 2, 2015
    http可以直接用curl做客户端,在shell里写也基本上没问题。
    你用bash弄一个UDP客户端试试(ry
    suriv520
        4
    suriv520  
       Apr 2, 2015   ❤️ 1
    用Go写的etcd,在初期是非常需要一个友好的接口与周边生态的,这利于它的发展与推广。
    正因为用了http/json,无论是php/ruby/python甚至bashshell的curl wget,都能轻松地与之协作。开发人员几乎不需要阅读文档,只需要扫一眼http示例,就能够轻松的集成进去。
    使用tcp/udp,就需要一整套通讯协议了,就需要各种不同语言的sdk了,就需要维护各种版本细节了……费力不讨好。

    不过说回来,etcd很有可能在以后的版本中,内部通信使用纯tcp,但并不是因为带宽问题,而是延时问题。不过对外服务,http是肯定支持到底了。
    qq446015875
        5
    qq446015875  
    OP
       Apr 2, 2015
    @suriv520 嗯……明白了……谢谢!
    Livid
        6
    Livid  
    MOD
    PRO
       Apr 2, 2015 via iPhone
    用 curl 调试会很方便
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3510 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 10:36 · PVG 18:36 · LAX 03:36 · JFK 06:36
    ♥ Do have faith in what you're doing.