1.服务启动流程图如下
1.1 启动传输服务,如下
具体1. 在SCBEngine引擎的run办法中,调用transportManager.init(this);实现启动传输服务2. TransportManager通过SPI发现Transport接口实现类,VertxRestTransport是其中之一,也是ServiceComb应用的传输服务,这个是构建在Vertx框架上。3. Vertx做了啥,能够看到RestServerVerticle是Vertx框架的业务实现,这里实现类ServiceComb微服务的rest service服务4. TransportManager通过服务发现,找到VertxHttpDispatcher,这个是ServiceComb路由散发器。筹备好这些资源之后,就开始启动Vertx了。
具体:1. RestServerVerticle 启动start,如果是ProducerProvider有endpoint,持续往下启动rest服务。否则返回2. 启动rest服务之前,做一些路由Handler挂载,最重要的是VertxHttpDispatcher挂载。通过init把路由挂载到VertxHttpDispatcher中,后续的申请通过路由达到VertxHttpDispatcher,进行散发。3. 所有就绪,启动http rest服务。