springclould与eureka

1.服务(提供者)注册中心(多个,相互注册为服务)和发现(eureka)多个进行服务发现
eureka注册中心:提供服务的注册与查询(发现轮询server),Ribbon会从Eureka注册中心去获取服务端列表
多server1:服务提供者:服务的提供方,提供服务的一方。
多client2:服务消费者:服务的消费方,使用服务的一方。
服务提供者与服务消费者同样可以调用,通过spring中的RestTemplate

断路器hystrix:保证在一台服务提供者崩溃时,轮询到服务崩溃的服务器就会去提示对应的错误信息。需在消费者中配置@EnableCircuitBreaker。

//自定义命令:使用restTemplate注入

//使用对象控制请求返回
//同步
//Book book1 = bookCommand.execute();
//异步调用,较慢,或使用注解@HystrixCommand
Future queue = bookCommand.queue();
Book book = queue.get();

//服务降级
注解@HystrixCommand(fallbackMethod = “方法名”)

//异常处理,可以使用在方法参数加入Throwable对象这样可以直接自动服务降级

//请求缓存,通过Service注解@CacheResult、@CacheKey、@CacheRemove或restTemplate中方法getCacheKey开启某参数请求后缓存数据,然后都要在控制器对断路器请求内容进行初始化
protected String getCacheKey() {
return String.valueOf(id);
}

//请求合并
1.注解合并请求
初始化HystrixRequestContext
@HystrixCollapser(batchMethod = “方法名”,collapserProperties = {@HystrixProperty(name =“timerDelayInMilliseconds”,value = “100”)})
以及使用@HystrixCommand注解service层合并请求的方法
2.初始化HystrixRequestContext,创建类使用批量处理继承HystrixCommand和创建类合并处理继承HystrixCollapser和service使用restTemplate进行调用提供者的服务

turbine集群监控:必须Hystrix Dashboard
①注解式:
@EnableHystrixDashboard
spring.application.name=turbine
server.port=2002
management.port=2003
eureka.client.service-url.defaultZone=http://localhost:1111/eureka/
turbine.app-config=ribbon-consumer
turbine.cluster-name-expression=“default”
turbine.combine-host-port=true
http://localhost:9000/hystrix

开启Feign简化了我们的封装操作
注解@EnableFeignClients/@FeignClient注解在service中绑定服务
spring.application.name=feign-consumer
server.port=2005
eureka.client.service-url.defaultZone=http://localhost:1111/eureka/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值