技术之路,不进即退 。吾等菜鸡应埋头于技术之路,破甲斩棘。勿做土鸡瓦狗,贪图安逸。
今天我就来讲一讲我对于RestTemplate的一些理解,我相信大家肯定很多都会用。我今天把它拿出来讲的原因,就是让不清楚的人通过阅读这篇文章能够直接会用并且能懂得其中大概的原理。其实去年大学毕业到现在我可以说用过这个东西很多次了,由于网上的资料繁杂,所以当时只是单纯想着会用就行,具体的一些琐碎知识并未深究。
一 :概述
RestTemplate看名字就知道是“全家桶”的一员,其实我当时选择它的原因也是因为这一点。顺带说一句,它的底层是对httpclient进行了封装,在这里就不喧宾夺主了,以后有机会我再写一下相关的文章。
现在除了httpclient之外RPC 以及队列的使用看可以说也是越来越广泛了。在netty等NIO框架因为需要高效的传输所以往往选择RPC,队列则用于回调以及设备消息之间的传递(我是用来储存mqtt的消息)。Http这个经久不衰的大佬自然不用多说,简单,支持广泛,高度兼容性。
Http client 是否优秀可以从如下几个方面进行判断。
1. 连接池属性
我们现在大多数使用的仍是HTTP1.1,它并不支持多路复用,因此我们为了避免频繁的建立断开连接损耗性能,连接池的是衡量是优秀的一个重要标准。
2. 超时时间属性
设置时间超时属性,可以说对于Httpclient是必须要设置的属性。毕竟不可能我请求一个地址不可能无期限的等下去。你想象一下,你发送了一个请求,对方一直无响应。这时候你发挥了你“不见不散”的良好品质,当临终前的时候对方告诉你:“不好意思啊,接口我还没写呢。一路走好,兄弟。” 是不是极度尴尬。
3. 支持异步
客户端与服务端模式通常被人性能差的一个主要原因是因为它在过去很长的一段时间里无法对异步进行支持,这里不仅仅指非阻塞IO,还包括异步的编程模型。这句话也就是说,即便Http的协议栈是继续非阻塞IO实现的,调用客户端或服务端处理线的线程也会花费大量时间在等待IO上。
4.可以对请求和响应进行编解码
简洁来说我们不用直接面对原始消息,因此编解码大大的减少了开发的工作量。
5.扩展性
这个特性其实适用于任何地方,我曾听一位大佬说过,以增量的方式去编写代码,是一个架构师的必备的技能。而这个以增量的方式不仅仅是说无限的添加代码,而是当我们改动一部分代码而不影响其他代码。
RestTemplate的使用方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/74153.html