分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

应用间通信方式HTTP和RPC

发布时间:2023-09-06 02:28责任编辑:沈小雨关键词:暂无标签

一、HTTP和RPC

1、Dobbo  RPC框架

2、Sping Cloud 微服务架构下的一站式解决方案。 微服务直接使用的是 Http restful方式

二、SpringCloud中服务间两种restful

RestTemplate

Feign

三、RestTemplate

RestTemplate 是一款http客户端,RestTemplate和httpclient功能差不多,用法上RestTemplate更简单。

例如订单服务-> (调用) 商品服务

第一种方式:直接使用RestTemplate,url硬编码

在product产品服务中增加接口 msg

然后在order订单服务中调用

order服务的端口设置为-Dserver.port=8081

测试:

缺点:

1、访问方式使用IP硬编码,如果IP换了,就无法访问了。

2、如果product有多个地址,如http://localhost:8080/msg, http://localhost:9080/msg,这样就涉及负载均衡,同样硬编码IP地址会有问题。

第二种方式:利用LoadBalancerClient ,通过应用名获得Url,然后在使用restTemplate

@RestController@Slf4jpublic class ClientController { ???@Autowired ???private LoadBalancerClient loadBalancerClient; ???@GetMapping("/getProductMsg") ???public String getProductMsg(){ ???????//使用RestTemplate ???????RestTemplate restTemplate = new RestTemplate(); ???????//1.第一种方式 ??????/* String response = restTemplate.getForObject("http://localhost:8080/msg", String.class);*/ ??????//2、第二种方式 ???????ServiceInstance serviceInstance = loadBalancerClient.choose("PRODUCT"); ???????String url = ?String.format("http://%s:%s", serviceInstance.getHost(), serviceInstance.getPort()) + "/msg"; ???????String response = restTemplate.getForObject(url, String.class); ???????log.info("url={},response={}",url,response); ???????return ?response; ???}}

  

第三种方式 (利用@LoadBalanced,可在restTemplate里使用应用的名字

1、增加RestTemplate的bean,然后增加注解LoadBalanced

@RestController@Slf4jpublic class ClientController { ???@Autowired ???private RestTemplate restTemplate; ???@GetMapping("/getProductMsg") ???public String getProductMsg(){ ???????//使用RestTemplate ???????//3.第三种方式 ???????String response = restTemplate.getForObject("http://PRODUCT/msg", String.class); ???????log.info("response={}",response); ???????return ?response; ???}}

  

应用间通信方式HTTP和RPC

原文地址:https://www.cnblogs.com/linlf03/p/10180005.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved