RPC(远程调用)
Remote
Procedure Call
作用:在服务于服务之间的调用
调用链路:在一次请求过程当中经过的多条服务就是调用链路
首先这里是基于昨天的项目开始 [ 有详细的步骤,大家可以先看看 ]
1-SpringCloud项目创建实现一个简单实例_季淳卿的博客-CSDN博客
第一步:还是选中项目,右击,创建一个order模块
这里选择Spring Initializr
修改的地方保持一致,然后点击下一步到完成
第二步:修改pom.xml中的版本号 为 2.3.12.RELEASE
第三步:添加依赖
加三个依赖 ,记住看准位置,别加在其他地方
<!-- client依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.8.RELEASE</version>
</dependency>
<!-- web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- openfeign依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.2.8.RELEASE</version>
</dependency>
第四步:写application.properties
第五步: 现在Springcloud2022OrderApplication中加入两个注解
@EnableEurekaClient @EnableFeignClients
第六步:新建 otherservice ,在UserService类中调用用户服务的路径
package sunjob.springcloud2022order.otherservice;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
/**
*调用用户服务的路径
* 服务名
*/
@FeignClient("USERSERVICES")
public interface Userservice {
@GetMapping("hi")//绑定路径
String sayHi();
}
第七步:创建controller包,在OrderController写代码
package sunjob.springcloud2022order.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import sunjob.springcloud2022order.otherservice.Userservice;
@Controller
public class OrderController {
@Autowired
Userservice userservice; //注意 启动类中没有 @EnableFeignClients 这个注解 就没报红
@RequestMapping("/order")
@ResponseBody
public String orderQuery(){
String ret = userservice.sayHi();
return "orderQuery:" + ret;
}
}
第八步:先运行注册中心(springcloud-2022-registercenter)的启动类:如下图
浏览器访问:http://127.0.0.1:1011 查看注册中心
第九步:在依次运行springcloud-2022-user和springcloud-2022-order的启动类
这个时候在原有界面刷新一下重新访问(可以查看目前在Eureka注册的实例)
第十步:访问 http://127.0.0.1:1011/order [输出成功撒花]
世界灿烂盛大,欢迎回家 —— 《全球高考》