服务于服务之间,一定不是相互隔离的,而是必须要相互联系进行数据通信才能实现完整的功能。所以在刚刚的案例中,我们拆分出来的服务使用RestTemplate来进行远程通信。

在了解RestTemplate之前,先来简单了解下HTTP Client,我们实现对于http服务的远程调用,常见的手段是基于Apache提供的HttpClient,或者是Square公司开源的OkHttp。

还有Netflix公司提供的Feign(feign大家都比较熟悉,基于spring cloud开发的常见组件,可以使得我们用面向接口的编程来实现远程调用)等等。

简单来说,RestTemplate是Spring提供的用来访问REST服务的客户端,以前我们使用Apache HttpClient来进行远程调用时,需要写非常多的代码,还需要考虑各种资源回收的问题。而RestTemplate简化了Http服务的通信,我们只需要提供URL,RestTemplate会帮我们搞定一切。

另外,需要注意的是,RestTemplate并没有重复造轮子,而是利用了现有的技术,如 JDK 或 Apache HttpClient 、OkHttp等来实现http远程调用。

虽然RestTemplate已经是一个很不错的HttpClient,但是目前Spring Cloud中仍然采用Feign。对于易用性和可读性这块的优势更好。后续在讲微服务组件的时候会专门讲到

简单了解RestTemplate相关推荐

  1. 简单了解RestTemplate消息读取的转化

    RestTemplate对于服务端返回消息的读取,提供了消息转换器,可以把目标消息转化为用户指定的格式(通过 Class<T> responseType 参数指定).类似于写消息的处理,读 ...

  2. 简单了解RestTemplate源码

    RestTemplate 需要使用一个实现了 ClientHttpRequestFactory 接口的类为其提供 ClientHttpRequest 实现.而 ClientHttpRequest 则实 ...

  3. SpringBoot专栏:RestTemplate基本使用与微服务藕断丝连(终结-告别篇)

    有话要说 不善于言谈.不善笔墨.更不善交际..为何坚持写作? 虽如此,但是个人有一颗分享的心,有满腔的热情,更坚信只要坚持写作就能有所提升,就能受益于更多的人那就足够了. 未来又有何惧,编程之路需要小 ...

  4. SpringSource通过Spring for Android 1.0将Spring Framework引入到Android上

    近日,SpringSource发布了Spring for Android 1.0.Spring for Android是Spring Framework的扩展,有助于简化原生Android应用的开发. ...

  5. 《深入理解 Spring Cloud 与微服务构建》第七章 负载均衡 Ribbon

    <深入理解 Spring Cloud 与微服务构建>第七章 负载均衡 Ribbon 文章目录 <深入理解 Spring Cloud 与微服务构建>第七章 负载均衡 Ribbon ...

  6. 异步处理函数async_Spring @Async异步处理注释

    异步处理函数async Spring @Async annotation allows us to create asynchronous methods in spring. Let's explo ...

  7. cookie实现单点登录

    前言 在单点登录方案设计一篇中,我们谈到了目前市面上常用的一些单点登录方案的实现,关于单点登录,只需要把握一个核心的要点即可,那就是:一处登录,处处登录,登录之后,即同域下其他各个系统都能统一拿到用户 ...

  8. spring cloud系列一:Cloud Native Applications

    前言: Cloud Native是一种应用程序开发风格,鼓励在持续交付和价值驱动开发领域轻松采用最佳实践.一个相关的学科是构建12-factor Apps 应用程序,其中开发实践与交付和运行目标相一致 ...

  9. SpringCloud微服务治理技术入门

    1.集群.分布式.微服务 首先先理解三个感念 什么是集群?: 同一个业务,部署在多个服务器上,目的是实现高可用,保证节点可用! 什么是分布式?: 一个业务分拆成多个子业务,部署在不同的服务器上,每个子 ...

最新文章

  1. Android Handler杂记(结合别人的blog)
  2. 《CSS世界》读书笔记(十一)
  3. EF增删查改加执行存储过程和sql语句,多种方法汇总
  4. maven 父maven_Maven的春天
  5. Web前端体系的脉络结构
  6. LeetCode 51. N皇后 / 52. N皇后 II(回溯)
  7. ROS入门 Client Library与roscpp
  8. TCP/IP协议简介
  9. HyperLedger Composer升级fabric链码
  10. 废旧 Android 手机如何改造成 Linux 服务器
  11. Android网络编程(一次网络请求)
  12. 在哪里设置自动锁定计算机,教你电脑锁屏怎么设置,让电脑自动锁屏
  13. linux系统底层,干货|七点,用计算机底层知识教你安装Linux系统!
  14. 网络营销和电子商务傻傻分不清?
  15. pr中导出视频的应用,快速制作竖版短视频
  16. ffplay flv mp4 转_C#调用FFmpeg将flv视频格式转换成mp4格式
  17. JavaScript实现加密与解密详解
  18. 快速排序的三种实现以及应用场景
  19. WebRTC核心之SDP详解 十一、第三节 WebRTC中Offer_AnswerSDP
  20. 第三节、大秦帝国的连坐与链表(一)

热门文章

  1. html5 本地存储Web Storage
  2. Coolite TextField添加回车事件
  3. 多IE版本共存的解决方案—IETester(推荐)
  4. linux系统创建windows启动盘
  5. oracleDBA-D1
  6. Visual Studio 快速返回上次浏览/编辑的位置
  7. SQL Server---触发
  8. 如何提高Google Adsense单价:点击率篇
  9. 世界地球日主题班会PPT教学课件模板
  10. 2018年中国研究生数学建模竞赛--经验贴