uniugm/admin/cmd/test/rpcxgateway.go
2025-06-25 16:04:30 +08:00

40 lines
1.1 KiB
Go

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)
}