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 [输出成功撒花] 

                                                                                    世界灿烂盛大,欢迎回家 —— 《全球高考》

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐