haproxy 新版本特性是比較都的,以下說明集中動態配置的方法
幾種參考方法
- consul
官方支持基於consul 的服務發現 - dns
基於dns 的服務發現 - dataplane api
基於dataplan api 進行控制 - confd
confd 是一個很不錯的方案 - ingress controller
基於ingress controller 解決 - 自己開發
可以基於golang 的conf api 開發一個agent 進行reload。比較類似百度bfe 的conf-agent
說明
以上是幾種實現方法,方法還是比較多的,而且很多都是現成的可以直接使用,參考百度bfe 也是一個不錯的方案,可以實現配置的數據持久化以及版本靈活管理
參考資料
https://github.com/haproxytech/dataplaneapi
https://github.com/haproxytech/config-parser
https://github.com/haproxytech/client-native
https://github.com/bfenetworks/api-server/blob/develop/docs/zh_cn/deploy.md#confagent%E9%83%A8%E7%BD%B2