微服务中使用spring cloud远程调用的过程

spring cloud在调用接口的过程中,大体经过了5个步骤,其中经过了多个组件。 步骤1、接口化请求调用 步骤2、Feign 步骤3、Hystrix 步骤4、Ribbon 步骤5、HttpClient

具体流程如下 1、当加了@FeignClient注解的接口被调用时,在框架内部会把请求转换为Feign的请求实例feign.Request,交给Feign框架管理。

2、根据调用接口的注解@FeignClient后面的注册名称,找到注册中心的功能模块,然后根据调用的接口的方法声明去该功能模块寻找相应的方法体,此时并未执行。

3、在寻找方法体的过程中,如果上述功能模块服务突然挂掉了,此时就会使用Hystrix组件,请求被Hystrix代理拦截,判断请求是否需要进行熔断,若需要进行熔断,则熔断后并返回异常;否则则传递给Ribbon组件。

4、Ribbon组件的主要作用是来根据请求的特点,对请求进行负载均衡处理(分给多个服务器处理,防止一台服务器被挤爆)。

5、最后通过HttpClient,根据Ribbon传过来的请求(此时该请求已经指定了服务地址),开始真正执行请求;

经验分享 程序员 微信小程序 职场和发展