Skywalking的服务器OAP的逻辑对应于OAP服务器模块。入口是服务器启动子模块的OapserverStartup类。
start()Oapserverbootstrap的方法:
让我们看一下初始化模块
ModuleManager负责收集器中的所有模拟定义
ModuleManager的init()方法:
模块化实例的模块化制备阶段的准备()方法是模块的制备阶段。此方法还将找到所有潜在的提供商,以便他们也可以进入准备阶段
ModuleDefine的Prepaare()方法:
在初始化过程中创建,启动和通知,创建Bootstrapflow对象,并在Bootstrapflow的构造函数中创建LinkedList对象,以启动链接列表集合记录模块的顺序。因此,模块订单之间可能存在依赖关系。
Bootstrapflow的start()方法:
遍历所有模块培训者:
所有ModuleProvider将在开始顺序后转移到Execute notifyAfterCompleted()方法
本文主要讨论了Skywalking的服务器OAP的启动过程。入口是服务器级模块的OapserverStartup类的主要()方法。模块定义,模块配置,然后是相应的模块providider按顺序启动
如果您认为此内容对您非常有帮助:
原始:https://juejin.cn/post/711095156622343646