12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package main_backup
- import (
- "fmt"
- controllers "hello_rpc/controllers"
- pb "hello_rpc/grpc/gapi"
- _ "hello_rpc/routers"
- "os"
- "strconv"
- "github.com/astaxie/beego"
- "github.com/docopt/docopt-go"
- "gogs.ywtinfo.com/ywtgo/tools/rpccore"
- "google.golang.org/grpc"
- )
- const (
- FrameworkVersion = "1.0"
- )
- var usage = `Usage: agent [-c config_file] [-L log_file] [--log-level=<loglevel>] [--etcd=127.0.0.1:2379[,127.0.0.2:2379]] [-p 3000] [--app-env=default] [--host=127.0.0.1] [--redis-addr=127.0.0.1:6379]
- Options:
- -c set config file
- -L set output log file, default is publisher.log
- -p set listen port
- -h --help Show this screen.
- -V --version Show version.
- --etcd=<127.0.0.1:2379> set the etcd address.
- --app-env=default set starting env.
- --host set reg host.
- --redis-addr=<127.0.0.1:6379> set redis address.
- `
- // 包含etcd注册的grpc服务
- func main() {
- registerGrpcServerTest()
- beego.Run()
- }
- // ------------- grpc server start -----------------------------
- func registerGrpcServerTest() {
- arguments, err := docopt.Parse(usage, nil, true, FrameworkVersion, true)
- if err != nil {
- os.Exit(1)
- }
- logFile := "publisher.log"
- if logFileNamet := arguments["-L"]; logFileNamet != nil {
- logFile = logFileNamet.(string)
- }
- configFile := "publisher.cfg"
- if configFilet := arguments["-c"]; configFilet != nil {
- configFile = configFilet.(string)
- }
- etcdAddress := "127.0.0.1:2379"
- if etcdAddressTemp := arguments["--etcd"]; etcdAddressTemp != nil {
- etcdAddress = etcdAddressTemp.(string)
- }
- port := 10087
- if protTemp := arguments["-p"]; protTemp != nil {
- pStr := protTemp.(string)
- port, _ = strconv.Atoi(pStr)
- }
- host := os.Getenv("LOCAL_IP")
- if host == "" {
- host = "127.0.0.1"
- }
- if hostTemp := arguments["--host"]; hostTemp != nil {
- host = hostTemp.(string)
- }
- appEnv := "default"
- if appEnvTemp := arguments["--app-env"]; appEnvTemp != nil {
- appEnv = appEnvTemp.(string)
- }
- redisAddr := "127.0.0.1:6379"
- if redisAddrTemp := arguments["--redis-addr"]; redisAddrTemp != nil {
- redisAddr = redisAddrTemp.(string)
- }
- fmt.Println(logFile, configFile, etcdAddress, port, host, redisAddr)
- gs := rpccore.NewGrpcServerStarter(appEnv, host, int(port), []string{etcdAddress}, true, nil)
- gs.RegisterService("com.ywt.gapi.user.GoUserService", func(s *grpc.Server) { pb.RegisterUserServiceServer(s, controllers.NewUserServiceServer(redisAddr)) })
- gs.Serve()
- }
- // ------------- end grpc server -----------------------------
|