阅读etcd/proxy/httpproxy

etcd proxy官方

提供简单的服务发现机制, proxy代码层面的结构:

  • proxy.go做为最外层, 包装了reverse.go和director.go, 对外提供初始化api

  • reverse.go包括transport和director, transport是go的标准库, 负责管理http请求连接池; director管理etcd集群的各地址, 通过外部传入的GetProxyURLs定时刷新内部的endpoints列表

  • director.go是proxy用于存储endpoints, 并且在endproxy上进行简单的管理 类似 定时, 失败等待时间(这个功能没明白具体的作用)

httpproxy过于轻薄, 未在实际请用中使用.

一般来说httpproxy, 主要是隐藏ip, 代理请求访问, 缓存回复内容等, 这里并没有这些功能. 其实和之前我写的gateway功能很类似, 可以用作proxy的基础, 并根据自己需要进行扩展.

阅读etcd/proxy/httpproxy
Share this