example/outlier/hello_kitex/main.go (36 lines of code) (raw):

package main import ( "flag" "log" "net" "time" api "github.com/cloudwego/kitex-examples/hello/kitex_gen/api/hello" "github.com/cloudwego/kitex/pkg/rpcinfo" "github.com/cloudwego/kitex/server" etcd "github.com/kitex-contrib/registry-etcd" ) var addressFlag = flag.String("server_address", ":8000", "Set the listen address for server") var nodeCrashFlag = flag.Bool("node_crash", false, "Set the flag for whether to simulate node crash") const serviceName = "example.helloworld" const etcdAddr = "127.0.0.1:2379" func main() { flag.Parse() etcdReg, err := etcd.NewEtcdRegistry([]string{etcdAddr}) addr, err := net.ResolveTCPAddr("tcp", *addressFlag) if err != nil { log.Fatal(err) } svr := api.NewServer( &HelloImpl{getIDWithAddress(*addressFlag), time.Now()}, server.WithServiceAddr(addr), server.WithRegistry(etcdReg), server.WithServerBasicInfo( &rpcinfo.EndpointBasicInfo{ ServiceName: serviceName, }), ) err = svr.Run() if err != nil { log.Fatal(err) } }