负载均衡:Nginx 和 Ribbon 区别
负载均衡:将用户请求分摊到服务器或者服务接口
通俗地说说Nginx 和 Ribbon 区别
- Ribbon客户端负载均衡,多个服务接口集群,通过Ribbon负载均衡策略,调用其中一个服务接口。
- Nginx是服务端负载均衡,部署多台功能相同的服务器,通过Nginx负载均衡策略,会把请求转发给其中一台服务器。
Ribbon开始
-
之前服务提供方集群已经实现轮询式负载均衡,却没有引入依赖,是因为
-
负载均衡策略
-
负载均衡策略使用,不能在启动类包或者子包
package cn.demo.myrule;
@Configuration
public class MyselfRule {
@Bean
public IRule myRule(){
return new RandomRule();
}
}
//主启动类注解
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MyselfRule.class)
- 负载均衡算法了解,能力有限暂时跳过。。。
- 轮询
- 轮询
Feign 开始
- 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
//主启动类注解
@EnableFeignClients
//服务层接口,指定服务名CLOUD-PAYMENT-SERVICE
@Component
@FeignClient(value = "CLOUD-PAYMENT-SERVICE")
public interface PaymentFeignService {
@GetMapping("/payment/get/{id}")
public CommonResult getPaymentById(@PathVariable("id") Integer id);
}
-
超时设置:
默认时间 1 秒
-
日志
logging:
level:
#日志要监控的接口 : 级别
cn.demo.springcloud.service.PaymentFeignService: debug
- 负载均衡策略
CLOUD-PAYMENT-SERVICE:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #配置规则 随机
com.netflix.loadbalancer.RoundRobinRule #配置规则 轮询
com.netflix.loadbalancer.RetryRule #配置规则 重试
com.netflix.loadbalancer.WeightedResponseTimeRule #配置规则 响应时间权重
com.netflix.loadbalancer.BestAvailableRule #配置规则 最空闲连接策略
作 者:凑数的园丁
出 处:https://www.cnblogs.com/lq-404/
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。