当开发完一个 HTTP Restful服务后,准备配置一个负载均衡。我想弄一个比较简单的方案,
[1] 不要依赖于Docker/K8S。
[2] 在Windows 和 Linux 均可。
[3] Go语言实现优先。并且不要有负载的配置。
[4] 能支持服务器动态发现,健康检查。
通过Github搜索,找到fabioGithub。
有5K以上的Star 。eBay团队出品。依赖于Consul做服务发现。入门操作其实相当简单:
1. 启动consul。我是在Windows先直接运行:
consul agent -dev
2. 编译并运行fabio-example
fabio-example.exe --prefix /echo
fabio-example.exe内部启动5000端口监听HTTP服务,并提供 http://localhost:5000/echo服务。并向consul注册这个服务。
3. 启动fabio
fabio.exe
4. 测试
curl http://localhost:9999/echo