Spring Cloud 远程调用与负载均衡

本篇主要介绍Spring Cloud远程调用和负载均衡的相关内容。

目录

一、远程调用

RestTemplate

Rest

RestTemplate的使用

二、负载均衡

什么是负载均衡

Spring Cloud  LoadBalancer

负载均衡策略


一、远程调用

在上一篇中,介绍了如何从注册中心eureka获取服务的信息,但如何通过获取的信息来远程调用其它服务呢?接下来我们来详细了解一下。

在Spring Cloud中实现远程调用常见的有两种方式,一种是RestTemplate,一种是Open Fegin。这里,我们先只介绍一下RestTemplate。

RestTemplate

RestTemplate是一个从Spring 3.0 开始支持的一个http请求工具,它是一个同步的Rest API客户端。在了解什么是RestTemplate之前,我们先来了解一下什么是Rest。

Rest

Rest是由Http的主要设计者Roy Fiedling 博士在他的博士论文中提出的一种软件架构风格,它表示资源在网络中以某种表现形式进行状态转移,这段话中有三个概念,我们来了解一下:

  • 资源:网络上的所有事务都可以称之为资源,并且每个资源都对应一个唯一的资源标识符(URI)
  • 表现层,资源的表现形式,例如一个文本,就可以用txt来表示,也可以用Json,二进制等来表现
  • 状态转移:在客户端和服务端进行交互时,可能会使对方的资源发生改变,例如增删改查等,这就是资源的状态转移。

Rest本身不实用,它只是为网络接口设计提供一种风格,而这种风格被作为Restful接口。

Restful需要通过HTTP才能实现,因此,Restful是基于http的。RestTemplate就是一种强制依据Restful设计的,只需要提供资源的地址和参数,就能让其它主机上的资源进行一些状态转移。

RestTemplate的使用

由于RestTemplate是由Spring提供的,因此我们在Spring项目中,无需引入相关jar包就能直接使用,但他并没有存入Spring 容器中,因此如果我们需要注入使用的话,需要先将其存放到Spring容器中,具体可以参考下面的代码

 当我们需要进行远程调用时,可以直接将RestTemplate注入进来,注入之后,我们可以通过RestTemplate的getForObject方法来调用其它服务,在这个方法中,有两个参数,第一个参数为服务的url,第二个则为调用服务的返回值。下面,我们来结合一下注册中心来测试一下RestTemplate远程调用的效果。具体代码如下

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值