springcloud hystrix与ribbon入门案例(复制粘贴即可)

hystrix:

A服务调用B服务的过程中如果B服务因为各种原因挂掉了,这时就需要引入hystrix来处理这种情况


代码实现如果不理解请先看上一篇 spring cloud 服务注册(nacos)与服务调用(feign)案例(复制粘贴即可)

1.引入pom

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
		</dependency>


		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
		</dependency>

2.调用端开启 application.properties

feign.hystrix.enabled=true

3.编写实现类实现远程调用接口

interface :
配置fallback标明实现类

@FeignClient(name = "demo-server",fallback = HelloClientImpl.class)
@Component
public interface HelloClient {

    @GetMapping("ServerController")
    public String helloServer();
}

实现类:(当远程调用出现问题,将执行调用端的程序)

@Component
public class HelloClientImpl  implements HelloClient {
    @Override
    public String helloServer() {
        return "hello client 熔断器";
    }
}

在这里插入图片描述
正常访问:
在这里插入图片描述
手动停掉注册服务后:
在这里插入图片描述

ribbon:

A服务调用B服务的过程中,为了程序的稳定运行我们会将B服务搭建在多个服务器上运行,这样A调用B的过程中就需要引入ribbon来进行负载均衡管理

pom:

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
		</dependency>


		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
		</dependency>

在这里插入图片描述
用不同的端口模拟不同的服务器,同时启动三个demo_server
在这里插入图片描述
可以看到已经启动了三个一样的实例,这时我们测试发现demo_client调用的过程中是轮询的,即依次调用服务,这也是ribbon的默认负载均衡规则

ribbon的自带负载均衡规则如下:

在这里插入图片描述
下面将轮询改成随机:

在客户端引入如下配置application.yml

demo-server:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

demo-server是被调用的服务名

然后运行发现已经变成随机调用服务了

帮助到您请点赞关注收藏谢谢!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值