欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微服务

程序员文章站 2022-06-03 20:17:34
...

RPC和HTTP

常用的两种调用方式

  • PRC:Remote Produce Call远程过程调用(不常用
  • (最常用)http其实是一种网络传输协议,基于TCP,规定了数据传输的格式
    • 缺点:消息封装臃肿
    • 优点:对服务的提供和调用方没有任何技术限定,*灵活,更符合微服务理念

http客户端工具

微服务选择了http,那么我们需要考虑自动如何来实现对请求和响应的处理开源世界已经集成很多http客户端工具,能够帮助我们做这些事情,例如:

  • HttpClient
  • OKHttp
  • HttpUrlConnection

  • 这些不同的客户端,api各不相同,功能相同

spring的RestTemplate

spring提供一个RestTemplate模板工具类,对基于http的客户进行了封装,非常方便RestTemplate并没有限定http客户端类型,而是进行了抽象(底层不是自己的),
目前常用3种都有支持

  • HttpClient
  • OKHttp
  • JDK原生的HttpUrlConnection(默认的)

使用RestTemplate

创建springBoot项目
在启动类初始化RestTemplate对象

@Bean
public RestTemplate restTemplate(){
 // 默认HttpUrlConnection,如果要用其他的就在()中指定
    return  new RestTemplate(); 
}

test

@Autowired
private RestTemplate restTemplate;
/** 
	第一参数:访问其他项目中方法的路径
	第二参数:访问的方法返回的参数
*/
User user = restTemplate.getForObject
                ("http://localhost:9090/hello/hello?id=3", User.class);

实现了:跨项目之间的调用