qq446015875
V2EX  ›  DevOps

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

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

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