微服务框架ServiceComb源码解析之一——Producer处理客户端请求

请求处理过程 【微服务框架ServiceComb源码解析之一——Producer处理客户端请求】微服务框架ServiceComb源码解析之一——Producer处理客户端请求
文章图片

  1. Producer服务启动后,会部署vertx服务,监听端口,等待Client连接,并且客户端请求路由配置到VertxRestDispatcher.
  2. Client发起请求,请求被vertx路由到VertxRestDispatcher,经过用户配置的HttpServerFilter进行接收请求后的预处理操作。其中ServerRestArgsFilter是ServiceComb内置的filter,专门用来反序列化请求和序列化响应体的。
  3. 经过HttpServerFilter的afterReceiveRequest处理后,正式进入Handler链,进行具体的业务处理,用户可以自定义多个Handler,但最后一个Handler是ProducerOperationHandler,这个是ServiceComb内置的Handler,它负责通过反射调用请求对应的operation,对请求进行处理,得到response.
  4. 得到response后,回调处理response的方法sendResponseQuietly(resp)
    微服务框架ServiceComb源码解析之一——Producer处理客户端请求
    文章图片
  5. 这个方法做的事是,调用HttpServerFilter链上每个filter的beforeSendResponseAsync,进行发送前处理。其中内置的ServerRestArgsFilter会对response对象进行序列化,变成json字符串,响应给client

    推荐阅读