PaaS负载均衡该如何实现,F5和nginx,haproxy该如何选择?
收起容器是运行在操作系统上的单个进程,应用需要通过多个容器提供服务,这样就组建成了集群,那么对外仍然需要通过统一接口提供服务,从而屏蔽集群内部的相关容器变化,这样就需要负载均衡进行相关操作。现在企业产品以HAproxy实现负载路由和均衡的功能,比如PCF、openshift和阿里飞天、华为产品等。
当容器启动时,将相关信息注册到一个统一的管理中心比如etcd中,在HAProxy中需要有进程监听etcd中的集群信息变化,当有集群变化时,监听进程会自动修改HAproxy的backend相关信息,这样就能够实现负载均衡的自动监控和修改。
在集群对外提供服务时,在负载均衡之前,一般还会使用域名形式来访问,当按照域名发送请求到PaaS平台的某个router所在的节点时,router记录有域名和IP:port 的映射关系,于是将请求转发到平台内部对应的 IP:port 上面,然后通过haproxy再路由到某个容器进行服务。