Add ReplicatorSv1 for remote/replication functionality

This commit is contained in:
TeoV
2019-11-13 18:20:35 +02:00
committed by Dan Christian Bogos
parent a3a59bbb64
commit 5cc9f94cc0
20 changed files with 217 additions and 434 deletions

View File

@@ -239,7 +239,8 @@ func main() {
if err != nil {
log.Fatalf("Coud not open dataDB connection: %s", err.Error())
}
var rmtDBConns, rplDBConns []*engine.DataManager
var rmtDBConns []*engine.DataManager
var rplConns *rpcclient.RpcClientPool
if len(ldrCfg.DataDbCfg().RmtDataDBCfgs) != 0 {
rmtDBConns = make([]*engine.DataManager, len(ldrCfg.DataDbCfg().RmtDataDBCfgs))
for i, dbCfg := range ldrCfg.DataDbCfg().RmtDataDBCfgs {
@@ -254,21 +255,18 @@ func main() {
rmtDBConns[i] = engine.NewDataManager(dbConn, nil, nil, nil)
}
}
if len(ldrCfg.DataDbCfg().RplDataDBCfgs) != 0 {
rplDBConns = make([]*engine.DataManager, len(ldrCfg.DataDbCfg().RplDataDBCfgs))
for i, dbCfg := range ldrCfg.DataDbCfg().RplDataDBCfgs {
dbConn, err := engine.NewDataDBConn(dbCfg.DataDbType,
dbCfg.DataDbHost, dbCfg.DataDbPort,
dbCfg.DataDbName, dbCfg.DataDbUser,
dbCfg.DataDbPass, ldrCfg.GeneralCfg().DBDataEncoding,
dbCfg.DataDbSentinelName)
if err != nil {
log.Fatalf("Coud not open dataDB connection: %s", err.Error())
}
rplDBConns[i] = engine.NewDataManager(dbConn, nil, nil, nil)
if len(ldrCfg.DataDbCfg().RplConns) != 0 {
var err error
rplConns, err = engine.NewRPCPool(rpcclient.POOL_BROADCAST, ldrCfg.TlsCfg().ClientKey,
ldrCfg.TlsCfg().ClientCerificate, ldrCfg.TlsCfg().CaCertificate,
ldrCfg.GeneralCfg().ConnectAttempts, ldrCfg.GeneralCfg().Reconnects,
ldrCfg.GeneralCfg().ConnectTimeout, ldrCfg.GeneralCfg().ReplyTimeout,
ldrCfg.DataDbCfg().RplConns, nil, false)
if err != nil {
log.Fatalf("Coud not confignure dataDB replication connections: %s", err.Error())
}
}
dm = engine.NewDataManager(d, config.CgrConfig().CacheCfg(), rmtDBConns, rplDBConns)
dm = engine.NewDataManager(d, config.CgrConfig().CacheCfg(), rmtDBConns, rplConns)
defer dm.DataDB().Close()
}