package main import ( "flag" "log" gateway "github.com/rpcxio/rpcx-gateway" "github.com/rpcxio/rpcx-gateway/gin" redisRegistryClient "github.com/rpcxio/rpcx-redis/client" "github.com/smallnest/rpcx/client" ) var ( addr = flag.String("addr", ":8970", "http server address") redisAddr = flag.String("redisAddr", "localhost:6379", "redis address") basePath = flag.String("basepath", "/rpcx", "basepath for zookeeper, etcd and consul") failmode = flag.Int("failmode", int(client.Failover), "failMode, Failover in default") selectMode = flag.Int("selectmode", int(client.RoundRobin), "selectMode, RoundRobin in default") ) func main() { flag.Parse() d, err := createServiceDiscovery() if err != nil { log.Fatal(err) } log.Printf("start gateway ...") httpServer := gin.New(*addr) gw := gateway.NewGateway("/", httpServer, d, client.FailMode(*failmode), client.SelectMode(*selectMode), client.DefaultOption) gw.Serve() } func createServiceDiscovery() (client.ServiceDiscovery, error) { return redisRegistryClient.NewRedisDiscoveryTemplate(*basePath, []string{*redisAddr}, nil) }