开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(十五)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: Spring Cloud微服务架构设计与开发实战课时2.4—Spring Cloud声明式调用客户端Feign 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,今天是开发者学院中课程“Spring Cloud微服务架构设计与开发实战”的章节二的“Spring Cloud声明式调用客户端Feign 干货总结~是一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Spring Cloud声明式调用客户端Feign 

课程地址:https://developer.aliyun.com/learning/course/60/detail/1087

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


Spring Cloud声明式调用客户端Feign 


(一)Spring Cloud声明式调用客户端Feign 

1Spring Cloud 调用方Feign  

微服务架构中非常重要的技术叫声明客户调动端FeignFeign主要是做快速构建微服务API的调用工作,组件是非常重要的。 

如果做微服务开发,开发出来一个订单的API或者注册的API给客户端用,客户端自己使用原始的HTTP等等相关的去做请求调用是可以的但相对来说比较麻烦还有一种情况就是构建这种复杂的微服务架构,会面临一个问题,微服务可能要调别的微服务,这时候调用,不可能所有代码全部用原生基础的原始的代码来进行构建,这时候 Spring cloud为了方便微服API的调用,整个API的调用工作在客户端代码大大简化,自己封装了一套工具框架 

2Spring Cloud 调用方Feign  

1. 调用方,简化微服务API调用  

2. Feign是一种声明式、模板化的HTTP客户端。  

3. 简化Http客户端开发  

4. 只需要创建一个接口+@注解  

5. Feign 解和JAX-RS注解。  

6. Feign支持可插拔的编码器和解码器  

7. Feign默认集成了Ribbon,并和Eureka结合  

8. Eclipse或者 IDEA实战 

Feign本身叫声明式调通过声明与客户端代理,使用简单的几个注解就能完成一个后端的微服务API调用工作,微服务框架本身它实际的设计思想是去简化微服务开发工程师的一个工作。 

因为整个Spring Cloud体系,包含的数10种框架,都在不断的进行迭代发展里面微服务客户端的调用工具还可以继续使用,但部分组件,有更多的选择,整个Spring Cloud生态是变得越来越丰富,越来越强大,利于去做一个多样化微服务架构的设计。 

具体看Feign使用参考前几次服务项目创建的经验,可以用EclipseIDEA,也可以用在线的网站向导去生成一个Spring Cloud的一个项目 

演示操作如下 

image.png 

image.png 

 为了方便开发要点选添加Dev tool式组件web项,主要作用是因为要调后台客户端services,更多的时候希望包容RecAPI在本地,通过本地的软件RecAPI底层代理来调远端的后台的微服务,形成一个调动链,本地测试方便还有Eureka Clie因为依赖的是Feign是调用端,Feign一定要加进来,版本选2.3.7往后选不用最新的,因为一般公司的项目迭代没有么快,大部分企业可能还停留在二点零点几,特别新版本,企业是很难使用 

image.png 

image.png 

配置文件作为一个调用端,它实际和微服务端配置基本上差不多,直接复制微服务的拷贝过来,端口因为都在同一台机器上,所以里面端口尽量不要重复,9001表示调动的代码,项目改成Feign Client,端口9001,要去注册中心查,因为要查找后台服务当前在线的微服务集群信息,地址很重要,需要打开还要加几个注解作为客户端和数据中心首先打交道,接下来进行用。 

需要建一个代理接口包含一个声明,不包含方法体,具体如下: 

image.png 

声明一个客户端的接口,通过依赖注入Spring框架自动会给装配一个客户端的代理对象,然后通过代理对象来调查还有Feign Client要给一个服务名,名字要统一,具体操作如下: 

image.png 

还有地址偏移要匹配名字与服务端统一,不统一也可以允许一次再封装。 

image.png 

通过代理调,浏览器测试,具体操作如下: 

image.png 

image.png 

先启动注册中心测试保证微服务再到客户端: 

image.png 

image.png 

相关文章
|
23天前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
22天前
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建微服务架构
本文深入探讨了 Python 中的微服务架构,介绍了 Flask、FastAPI 和 Nameko 三个常用框架,并通过实战项目帮助读者掌握这些技术。每个框架都提供了构建微服务的示例代码,包括简单的 API 接口实现。通过学习本文,读者将能够使用 Python 构建高效、独立的微服务。
|
1月前
|
Android开发 开发者 Kotlin
Android实战经验之Kotlin中快速实现MVI架构
MVI架构通过单向数据流和不可变状态,提供了一种清晰、可预测的状态管理方式。在Kotlin中实现MVI架构,不仅提高了代码的可维护性和可测试性,还能更好地应对复杂的UI交互和状态管理。通过本文的介绍,希望开发者能够掌握MVI架构的核心思想,并在实际项目中灵活应用。
57 8
|
14天前
|
消息中间件 安全 NoSQL
布谷直播系统源码开发实战:从架构设计到性能优化
作为山东布谷科技的一名技术研发人员,我参与了多个直播系统平台从0到1的开发和搭建,也见证了直播行业从萌芽到爆发的全过程。今天,我想从研发角度,分享一些直播系统软件开发的经验和心得,希望能对大家有所帮助。
|
1月前
|
JavaScript 前端开发 Java
Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300%的秘密武器
Jeesite5 是一个基于 Spring Boot 3.3 和 Vue3 的企业级快速开发平台,集成了众多优秀开源项目,如 MyBatis Plus、Bootstrap、JQuery 等。它提供了模块化设计、权限管理、多数据库支持、代码生成器和国际化等功能,极大地提高了企业级项目的开发效率。Jeesite5 广泛应用于企业管理系统、电商平台、客户关系管理和知识管理等领域。通过其强大的功能和灵活性,Jeesite5 成为了企业级开发的首选框架之一。访问 [Gitee 页面](https://gitee.com/thinkgem/jeesite5) 获取更多信息。
Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300%的秘密武器
|
2月前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
3月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
103 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
3月前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
3月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
61 6
|
3月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
94 5