本期给大家带来nacos注册中心的使用实践,通过nacos+openfeign实现微服务间的RPC远程调用。
PRC是什么?
RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务
RPC框架负责屏蔽底层的传输方式、序列化方式(XML/JSON/二进制)和通信细节。
RPC调用示意图:
简单来说,服务消费者可以通过clent stub,把请求序列化,通过socket发送到服务提供者,服务提供者再通过server stub反序列化请求参数,从而调用server提供的接口,最后再返回给服务消费者。
Nacos注册中心
服务提供者和服务消费者都需要先注册到nacos注册中心,注册中心不会配置的同学请看上一篇nacos注册中心文章。
如图所示:
- xiaoama-service:服务消费者
- xiaoama-service:服务提供者
服务提供者——xiaoama-provider
配置文件
server:
port: 8089
spring:
application:
name: xiaoama-provider
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
Controller接口
@RestController
public class ProviderController {
@RequestMapping(value = "/user/selectOne", method = RequestMethod.GET)
public User echo(@RequestParam("id")int id) {
User user =