| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package main
- import (
- "github.com/pkg/profile"
- "io/ioutil"
- "os"
- "rocommon/service"
- _ "rocommon/socket"
- _ "rocommon/socket/tcp"
- "roserver/baseserver"
- "roserver/baseserver/model"
- _ "roserver/server_map_router/model"
- model2 "roserver/server_map_router/model"
- _ "roserver/server_map_router/msg"
- "runtime"
- "strconv"
- "syscall"
- )
- func main() {
- //记录gate pid用来做关闭操作
- sysType := runtime.GOOS
- if sysType != "windows" {
- if pid := syscall.Getpid(); pid != 1 {
- fileName := "map_router_server.pid" + strconv.Itoa(pid)
- ioutil.WriteFile(fileName, []byte(strconv.Itoa(pid)), 0777)
- defer os.Remove(fileName)
- }
- }
- //CPU
- prof := profile.Start(profile.CPUProfile, profile.ProfilePath("./pprof/servermaprouter.pprof"), profile.NoShutdownHook)
- baseserver.Init(model.SERVICE_NODE_TYPE_MAP_ROUTER_STR, nil, &model2.AoiRouterUpdate{})
- //先建立服务器对应的连接,在监听客户端
- sConfig := service.GetServiceConfig()
- for _, concern := range sConfig.Node.Concern {
- //建立需要链接的服务器,可以通过服务器发现etcd来处理(包含在了CreateConnector中)
- baseserver.CreateConnector(baseserver.ServiceParam{
- DiscoveryServiceName: concern,
- DiscoveryServiceZone: sConfig.Node.Zone,
- ServiceType: "tcpConnector",
- ServiceName: model.SERVICE_NODE_TYPE_MAP_ROUTER_STR,
- ProcName: "common.backend",
- })
- }
- baseserver.Wait()
- //CPU
- prof.Stop()
- baseserver.Exit(nil)
- /*
- //内存使用详情
- f, err := os.Create("./pprof/servermaprouter.pprof/maprouter_mem_profile.pro")
- if err != nil {
- log.Println("err:", err)
- }
- pprof.WriteHeapProfile(f)
- f.Close()
- */
- }
|