2020-07-11
Zuul简介Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能。准备工作首先在父模块下,创建一个名称为service-zuul,pom.xml文件配置如下:<parent> <artifactId>springcloud-lesson</artifactId> <groupId>com...
详细 »
标签:
SpringCloud
Zuul
2020-07-10
Feign是自带断路器的,在D版本的Spring Cloud之后,它没有默认打开。需要在配置文件中配置打开它,在application.yml配置文件添加以下配置:feign: hystrix: enabled: true基于consumer-feign工程进行改造,只需要在HelloFeginClient接口的FeignClient注解中加上fallback的指定类就行了:@FeignClient(value = "eureka-client-provider", fallbac...
详细 »
标签:
SpringCloud
Hystrix
2020-07-10
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障...
详细 »
标签:
SpringCloud
Hystrix
2020-07-10
前面,我们讲述了如何通过RestTemplate+Ribbon去消费服务,现在我们讲述一下如何通过Feign去消费服务。Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解,就可以实现调用。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解Feign 整合了ribbon,具有负载均衡的能力整合了Hystrix,具有熔断的能力首先在父模块下,创建一个名称...
详细 »
标签:
SpringCloud
Eureka
2020-07-10
除了上面可以手动实现负载均衡模式,另外也提供了注解模式实现了负载均衡,在RestTemplate配置上添加@LoadBalanced注解,如下:@Bean@LoadBalancedpublic RestTemplate restTemplate() { return new RestTemplate();}@GetMapping(value = "/hello") public String hello(@RequestParam String name) { r...
详细 »
标签:
SpringCloud
Eureka