服务(远程)调用
远程调用: RPC
跨 JVM。
具体的调用方式,取决于技术方案。
远程调用:
第一步:
基于HTTP协议的:
第二步:获取到想要调用一方的实体类;
第三步:把想要获取到的一方的controller的方法实现为接口;
第四步:调用被调用方的方法层作为我们的service接口层
第五步:在调用方,和被调用发都配置spring-cloud
第六步:引入一个启动器
第七步:开启如下的配置,连接注册中心
第八步:开启nacos软件,在浏览器中打开
nacos注册中心:https://nacos.io/zh-cn/docs/quick-start.html
第九步,作为调用方,仅仅想要调用,而不想把自己注册上去
spring.cloud.nacos.discovery.register-enabled=false
第十步:引入openfeign来完成远程调用
org.springframework.cloud spring-cloud-starter-openfeign 2.2.5.RELEASE第十一步:在启动类上配置@EnableFeignClients注解开启客户端调用功能
第十二步:在我们的修改过的接口类上标注@FeignClient(“指定地址的服务名”)来**fegin客户端
第十三步:启动项目,看看能否正常启动,如果可以启动则成功,(这里取消屏蔽)
基于二进制协议的:
阿里 dubbo: http://dubbo.apache.org/zh-cn/
gRPC
Thrift
第二步:使用Spring提供的restTemplate
1.restTemplate.getForObject方法
W forObject = restTemplate.getForObject(“http://localhost:1026/admin/admin/29”, W.class);
return String.valueOf(forObject.getData().get(“data”));
2.restTemplate.getForEntity方法
ResponseEntity forEntity = restTemplate.getForEntity(“http://localhost:1026/admin/admin/29”, W.class);
W body = forEntity.getBody();
return String.valueOf(body .getData().get(“data”));