用SpringCloud Alibaba搭建属于自己的微服务(十四)~基础搭建~使用springcloud openfeign实现rpc调用

这篇博客介绍了如何利用SpringCloud Alibaba的OpenFeign进行微服务之间的RPC调用。文章从openfeign的背景、与feign、restTemplate、httpUtils、ribbon的关系入手,然后详细阐述了集成openfeign的步骤,包括添加依赖、创建服务、编写测试代码,并通过swagger进行了接口测试。
摘要由CSDN通过智能技术生成

一.概述

既然分布式系统,那么就避免不了服务之间的调用,我们这里使用的是springcloud的openfeign.

二.openfeign是什么?和feign、resetTemplate、httpUtils、ribbon是什么关系?

(1)openfeign出现的背景.

springcloud最初是以集成Netflix的feign来实现rpc调用的,之后的事情众所周知Netflix的这些微服务组件都是停更或者不再维护,所以springcloud得自己出一套rpc调用框架,openfeign就出现了,openfeign是在feign的基础上演变的,基本的使用是没有变的.

(2)openfeign和feign、restTemplate、httpUtils、ribbon是什么关系

服务调用:openfein、feign、restTemplate、httpUtils.
openfeign:

以feign为基础的开发的,属于springcloud自己维护的,是伪声明示rpc调用框架,底层实质干活的是resttemplate.

feign:

Netflix的rpc调用框架,是伪声明示rpc调用框架,底层实质干活的是resttemplate.

restTemplate:

便捷的rpc调用工具.

httpUtils:

apche组织维护http调用工具.

负载均衡:ribbon.
ribbon

客户端负载均衡算法提供者,常见的负载均衡规则有轮询、hash等.

三.集成openfein.

(1) 在ccm-mall.pom我们已经引入了spring-cloud-dependencies版本管理的依赖,在子工程中我们引入spring-cloud-starter-openfeign时就无需再声明版本号.
 <!--springcloud版本管理依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR6</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
(2) 要求:server-user调用server-basic,我们以server-user为模板新建服务server-basic并暴露一个接口.
a.启动类.
package com.ccm.server.basic;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.ComponentScan;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @Description server-basic服务启动类
 * @Author ccm
 * @CreateTime 2020/7/17 9:35
 */
@EnableDiscoveryClient //注册中心客户端
@ComponentScan(basePackages = "com.ccm")
@EnableSwagger2
@SpringBootApplication //声明为一个启动类
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值