123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package main
- import (
- "app.yhyue.com/BP/servicerd/proto"
- "flag"
- "google.golang.org/grpc"
- "log"
- "net"
- )
- var (
- addr = flag.String("addr", ":10021", "监听地址")
- serviceTtl = flag.Int64("ttl", 30, "服务失效时间(秒)")
- resourceUsedTimeout = flag.Int64("ruto", 120, "服务资源占用失效时间,过期自动收回(秒)")
- )
- func init() {
- flag.Parse()
- }
- //
- func main() {
- //初始化内存数据库
- InitDb()
- //失效服务检查
- go ClearTimeoutService(*serviceTtl)
- go ClearTimeoutUsedResource(*resourceUsedTimeout)
- //监听端口
- lis, err := net.Listen("tcp", *addr)
- if err != nil {
- log.Fatalln(err.Error())
- return
- }
- //创建一个grpc 服务器
- s := grpc.NewServer()
- //注册事件
- //1.服务器负载
- proto.RegisterServerLoadServer(s, &ServerLoad{})
- //2.服务心跳
- proto.RegisterHeartBeatServer(s, &Heartbeat{})
- //3.服务治理
- proto.RegisterServiceServer(s, &Service{})
- //处理链接
- _ = s.Serve(lis)
- }
|