比如我们有3个节点:9091
、9092
和9093
。
要是其中一个宕机了,就不能作为负载均衡的节点选项了。所以需要对其健康进行检查(也就是检查是否宕机了)
基本机制(简易)
1、定义发送http请求,并根据接口响应码和响应时间判断
2、如果异常,标记为不可用。(不能一次失败就直接标记为不可用,应该有个阀值)
3、异常节点恢复后,恢复节点的可用状态。
具体实现
1、首先保证节点启动
比如我们这里给启动3个节点。使用Go启动http服务非常简单,下面是代码:
package main
import "net/http"
func main() {
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
_, _ = writer.Write([]byte("9091-web1"))
})
_ =