负载均衡就是将接受的请求任务按照一定的规则分配给多个能够实现该任务的服务器。负载均衡分为客户端的负载均衡和服务器端的负载均衡。
客户端负载均衡:ribbon zuul
基于客户端的负载均衡,简单的说就是在客户端程序里面,自己设定一个调度算法,在向服务器发起请求的时候,先执行调度算法计算出向哪台服务器发起请求,然后再发起请求给服务器。
特点:
1. 由客户端内部程序实现,不需要额外的负载均衡器软硬件投入。
2. 程序内部需要解决业务服务器不可用的问题,服务器故障对应用程序的透明度小。
3. 程序内部需要解决业务服务器压力过载的问题。
使用场景:
1. 可以选择为初期简单的负载均衡方案,和DNS负载均衡一样。
2. 比较适合于客户端具有成熟的调度库函数,算法以及API等
3. 毕竟适合对服务器入流量较大的业务,如HTTP POST文件上传,FTP文件上传,Memcache大流量写入。
4. 可以结合其他负载均衡方案进行架构。
服务器端负载均衡:eureka Nginx
简单的说就是在服务器代理端程序里面,自己设定一个调度算法,在接收到客户端向服务器发起请求的时候,先执行调度算法计算出向哪台服务器发起请求,然后再发起请求给服务器。