Spring Cloud如进行声明式调用客户端Feign?
- 调用方,简化微服务API调用
Feign本身叫声明式调用,通过声明与客户端代理,使用简单的几个注解就能完成一个后端的微服务API调用工作,微服务框架本身它实际的设计思想是去简化微服务开发工程师的一个工作。 因为整个Spring Cloud体系,包含的数10种框架,都在不断的进行迭代发展,里面微服务客户端的调用工具还可以继续使用,但部分组件,有更多的选择,整个Spring Cloud生态是变得越来越丰富,越来越强大,利于去做一个多样化微服务架构的设计。 具体看Feign的使用,参考前几次微服务项目创建的经验,可以用Eclipse、IDEA,也可以用在线的网站向导去生成一个Spring Cloud的一个项目。 演示操作如下
为了方便开发,要点选添加Dev tool式组件web项,主要作用是因为要调后台客户端services,更多的时候希望包容RecAPI在本地,通过本地的软件RecAPI底层代理来调远端的后台的微服务,形成一个调动链,本地测试方便。还有Eureka Clie,因为依赖的是Feign是调用端,Feign一定要加进来,版本选2.3.7往后选,不用最新的,因为一般公司的项目迭代没有那么快,大部分企业可能还停留在二点零点几,特别新版本,企业是很难使用。
配置文件作为一个调用端,它实际和微服务端配置基本上差不多,直接复制微服务的,拷贝过来,端口因为都在同一台机器上,所以里面端口尽量不要重复,9001表示调动端的代码,项目改成Feign Client,端口9001,要去注册中心查,因为要查找后台服务当前在线的微服务集群信息,地址也很重要,需要打开,还要加几个注解,作为客户端和数据中心首先打交道,接下来进行调用。 需要建一个代理接口包含一个声明,不包含方法体,具体如下:
声明一个客户端的接口,通过依赖注入,Spring框架自动会给装配一个客户端的代理对象,然后通过代理对象来调查,还有Feign Client要给一个服务名,名字要统一,具体操作如下:
还有地址偏移要匹配,名字与服务端统一,不统一也可以允许一次再封装。
通过代理调用,浏览器测试,具体操作如下:
先启动注册中心测试保证微服务再到客户端:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。