mozhugithub.github.io - Kn's Blog

next (2075) hexo (1118)

Example domain paragraphs

​ 在微服务架构中,业务被分为一个个微小的服务,服务和服务之间可以相互调用(RPC),为保证高可用性,单个服务通常会集群部署,由于网络或者其他众多原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会陷入线程阻塞的状态,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。为了解决这个问题,业界提出了”断路器”模型。

​ 服务消费者还有一种落地实现是Feign,Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果,并且整合了Hystrix,具有熔断的能力。

​ 在微服务架构中,业务被拆分成一个个独立的服务,各个服务之间一般通过Restful Api进行通讯。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。