| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package main
- import (
- "io/ioutil"
- _ "net/http/pprof"
- "os"
- "rocommon"
- "rocommon/service"
- _ "rocommon/socket"
- _ "rocommon/socket/mysql"
- _ "rocommon/socket/tcp"
- "roserver/baseserver"
- "roserver/baseserver/model"
- dbModel "roserver/db/model"
- "runtime"
- "strconv"
- "syscall"
- )
- func main() {
- //记录gate pid用来做关闭操作
- sysType := runtime.GOOS
- if sysType != "windows" {
- if pid := syscall.Getpid(); pid != 1 {
- fileName := "db_server.pid" + strconv.Itoa(pid)
- ioutil.WriteFile(fileName, []byte(strconv.Itoa(pid)), 0777)
- defer os.Remove(fileName)
- }
- }
- //log.SetFlags(log.Lshortfile | log.LstdFlags)
- //prof := profile.Start(profile.MemProfile, profile.ProfilePath("./pprof/db.pprof"), profile.NoShutdownHook)
- baseserver.Init(model.SERVICE_NODE_TYPE_DB_STR, dbModel.ConfigInit, &dbModel.DBUpdate{})
- sConfig := service.GetServiceConfig()
- for _, concern := range sConfig.Node.Concern {
- baseserver.CreateConnector(baseserver.ServiceParam{
- DiscoveryServiceName: concern,
- DiscoveryServiceZone: sConfig.Node.Zone,
- ServiceName: model.SERVICE_NODE_TYPE_DB_STR,
- ServiceType: "tcpConnector",
- ProcName: "db.backend",
- })
- }
- //创建服务器之间的监听
- var acceNode rocommon.ServerNode = nil
- if sConfig.Node.Addr != "" {
- acceNode = baseserver.CreateAcceptor(baseserver.ServiceParam{
- ServiceType: "tcpAcceptor",
- ServiceName: model.SERVICE_NODE_TYPE_DB_STR,
- ProcName: "db.backend",
- LisAddr: sConfig.Node.Addr,
- }, sConfig)
- }
- baseserver.Wait()
- //prof.Stop()
- baseserver.Exit(acceNode)
- }
|