关于微服务:微服务框架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)
  5. 这个办法做的事是,调用HttpServerFilter链上每个filter的beforeSendResponseAsync,进行发送前解决。其中内置的ServerRestArgsFilter会对response对象进行序列化,变成json字符串,响应给client

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理