Mongodb源码分析--Replication之主从模式--Master(二)

2014-11-23 22:08:28 · 作者: · 浏览: 13
结点,如下:

\

接着我们可以在本地或另外一台机器上启动一个slave结点:

mongod --dbpath=d:mongodbdb --slave --source 10.0.1.103:27017 --only test --slavedelay 100


下面介绍一下master(主服务端)的代码执行流程。首先我们打开instance.cpp文件,找到下面方法:

//instance.cpp
// Returns false when request includes end
void assembleResponse( Message &m, DbResponse &dbresponse, const SockAddr &client ) {
......
if ( op == dbQuery ) {
if ( handlePossibleShardedMessage( m , &dbresponse ) )
return;
receivedQuery(c , dbresponse, m );
}
//服务端(master) 收到message执行相关查询操作
else if ( op == dbGetMore ) {
if ( ! receivedGetMore(dbresponse, m, currentOp) )
log = true;
}
.....
}

&