微服务中使用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传过来的请求(此时该请求已经指定了服务地址),开始真正执行请求;

希望该文章对你们有帮助哈,有帮到你们的麻烦点个赞哈,有兴趣的朋友可以关注一下公众号,公众号上会发布一些最近行业常用的技术,还有一些常见的开发错误,想要一些Java资源的话也可以公众号留言,小编会尽力为你搜索,同时也会发表一些自己见解的文章。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fighting32/article/details/107254175