点击上方蓝色“飞雪无情”关注我,设个星标,第一时间看文章
为了保障系统的高可用,我们需要针对重要的服务启动多个,这样当其中的一个服务出问题的时候,其他服务可以继续工作,系统就做到了高可用,这也就是负载均衡的应用。
什么是负载均衡
负载平衡(Load balancing)是一种电子计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。
以上来自于维基百科,这个定义看起来有点绕。其实在我们互联网中,负载均衡其实就用利用多态服务器提供单一服务,这种方案有时也被称为服务器农场。
比如我们常见的DNS负载均衡,其实就是对一个域名配置多个IP主机,这样当一个有问题的时候,其他的IP主机也可以正常的提供服务
负载均衡有很多负载,比如可以按照地理位置,给用户分配离他最近位置的IP,这样可以加快用户的访问速度;也可以根据响应时间、连接数等因素来进行灵活的调度。
Caddy的负载均衡
只要定义了多个上游(upstream),Caddy的反向代理就会使用负载均衡的能力,比如我们上篇***文章中的示例,就是用了负载均衡,代码如下所示:
reverse_proxy /api/* {
to node1:80 node2:80 node3:80