Node类源码结构
核心类Node
先看Node的构造函数
1.创建nodeEnvironment,节点的环境信息
2.读取jvm信息 jvmInfo
3.创建pluginService对象,会加载所有的模块和插件
4.然后调用pluginService更新settings配置文件
5.再初始化最终的environment
6.创建一个线程池,包含一个List<ExecutorBuilder<?>>
7.创建各种service ,包括resourceWatcherService,networkService等
8.创建各种模块module,最后都加入到modules
9.bind 方法,体现了guice框架的绑定和依赖注入,调用injector = modules.createInjector();
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Node的start方法,节点启动
1.通过injector.getInstance() 加载各种服务,然后调用start()方法启动
2.注入HTTPServerTransport和Transport
3.当node启动后,过滤插件plugin,必须是集群插件ClusterPlugin
4.最后再启动 保活线程
keepAliveThread.start();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++