Eureka的高可用和Ribbon,hystrix

1、Eureka的高可用

1)Eureka实例的互相注册,高并发

	启动多个实例,实例与实例之互相持有对象的端口号

2)服务的失效与自我保护

	心跳时间:每过一段时间,Eureka会连接一次实例服务

	过期时间:当某一个服务心跳之后,没有响应,N秒之后会将此服务从Eureka服务列表中剔除

	关闭自我保护:不在设置心跳时间,到了过期时间就直接关闭剔除

面试题

1)什么是Eureka和Eureka的作用

	服务的发现与注册中心,用来管理所有服务的信息,服务的名称,服务是否可用

2)Eureka怎么用

	先导入依赖,Eureka是分为服务端和客户端的。服务端的作用就是用来保存服务列表的。客户端的作用就是我们普通的功能性服务。

	在使用的时候服务端需要开启服务@EnableEurekaServer。服务端使用的@EnableDiscoveryClient。

	服务端还需要再yml配置文件中,指定路径

	客户端也需要在yml配置文件中,指定Eureka的路径

2.Ribbon

1)概念

	用于负载均衡,在Eureka中已经被封装了

2)使用

	导入依赖,只有需要在RestTemplate对象上,使用注解@LoadBalanced,在使用连接的时候,通过服务的ID来完成连接

3)负载均衡的规则

	默认是轮询,可选随即,在yml中进行设置

		service-provider:

		  ribbon:

		    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

面试题

使用了,因为我们的服务有很多个实例。

使用的工具是ribbon,通过对请求的拦截,而进行的url路径分析,通过得到url中,服务名ID。进行默认的轮询规则的服务实例的选择,系统提供的规则有两种,一个是轮询,一个是随即,其实最好的我认为是能者多劳,但是,我不会。最终生成,对应服务的url http://localhost:808X。

3.hystrix

1)概念

	用于服务的自我保护,类似于保险丝和空气开关,当服务被多次访问,并都发生等待,就必须进行熔断或降级操作。

2)雪崩

	由于电脑的内存和cpu等原因,导致的服务的等待时间过长,而造成的内存压力,最终导致服务整个崩溃。

3)服务降级

	治标不治本,只是将对应的服务,单独拎出来进行隔离。

4)服务熔断

	治本,当访问失败的次数超过默认20次阈(yu)值警戒线,彻底不允许访问此服务

	close,熔断关闭,可正常访问,当失败的访问次数过多,会进入open开启状态

	open,熔断开启,无法方法,当5秒内,没有请求进入,则进入半开状态

	half open,半开状态,允许部分请求进行正常访问,如果访问都是健康的,则进行close关闭状态,反之,则继续进入open打开状态

5)使用

	导入依赖,并在主类上添加注解,@EnableCircuitBreaker。在对应的需要进行管理的url方法上,添加依赖@HystrixCommand,还需要设置回调方法fallbackMethod
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值