MongoDB启动流程7-initAndListen
2016-06-14 11:59:29 0 举报
在MongoDB的启动流程中,”initAndListen”是一个重要的步骤。这个函数首先会初始化数据库系统,包括创建必要的数据文件和日志文件,设置存储引擎等。然后,它会监听所有的网络连接请求,等待客户端的连接。如果一切正常,它会返回一个表示成功的状态码。如果在初始化或监听过程中出现任何错误,它都会抛出一个异常。这个函数是MongoDB服务器的核心,它确保了数据库系统能够正常运行并接受客户端的请求。
作者其他创作
大纲/内容
MessageServer::Options options;options.port = listenPort;options.ipList = serverGlobalParams.bind_ip
Y
1、getGlobalEnvironment()返回类型为GlobalEnvironmentExperiment全局变量;2、该变量通过函数setGlobalEnvironment来设置;3、函数setGlobalEnvironment是通过MONGO_INITIALIZER来调用的;4、函数setGlobalEnvironment将全局变量修改为类型GlobalEnvironmentMongoD的对象;
initAndListen
serverGlobalParams.isHttpInterfaceEnabled
网络连接相关
dbWebServer-setupSockets()
做一些额外检查
ScriptEngine::setup()
new DbWebServer(...)
serverGlobalParams.parsedOpts.hasField(\"storage\")
Client::initThread(\"initandlisten\")
mongodGlobalParams.scriptingEnabled
GlobalEnvironmentExperiment
+ registerStorageEngine+ setGlobalStorageEngine+ getGlobalStorageEngine......
N
getGlobalEnvironment()-setGlobalStorageEngine(storageGlobalParams.engine)
_initAndListen(int listenPort )
repairDatabasesAndCheckVersion()
server-setupSockets()
logMongodStartupWarnings(storageGlobalParams);logProcessDetails();
server-setAsTimeTracker()
GlobalEnvironmentMongoD
+ _storageFactories:FactoryMap+ _storageEngine:StorageEngine*
0 条评论
下一页