面试题答案
一键面试核心组件及角色功能
- 客户端 Stub
- 角色:作为客户端应用程序与远程服务交互的代理。
- 功能:接收客户端应用的本地调用,将调用参数进行序列化处理,通过网络发送请求至服务端;接收服务端返回的响应数据,反序列化后将结果返回给客户端应用。
- 服务端 Stub
- 角色:负责接收客户端的请求并转发给实际的服务实现。
- 功能:接收客户端发送的序列化请求数据,进行反序列化处理,调用本地实际的服务方法;将服务方法执行结果进行序列化,通过网络返回给客户端。
- 网络传输层
- 角色:负责在客户端和服务端之间可靠地传输数据。
- 功能:建立客户端与服务端之间的连接,按照既定协议(如 TCP、UDP 等)进行数据的发送与接收,处理网络异常情况,保障数据传输的稳定性和正确性。
- 服务注册与发现中心
- 角色:管理微服务实例的注册信息和提供服务发现功能。
- 功能:服务启动时,服务端将自身的服务信息(如服务地址、端口、提供的接口等)注册到注册中心;客户端在调用服务前,从注册中心获取目标服务的实例地址等信息,以便建立网络连接进行 RPC 调用。注册中心还需处理服务实例的动态变化(如实例的上线、下线),及时更新服务信息。