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

package main import ( "flag" "log" etcdregitry "github.com/go-kratos/kratos/contrib/registry/etcd/v2" "github.com/go-kratos/kratos/v2" etcdclient "go.etcd.io/etcd/client/v3" ) var httpAddressFlag = flag.String("http_server_address", ":8000", "Set the listen address for http server") var grpcAddressFlag = flag.String("grpc_server_address", ":9000", "Set the listen address for grpc 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() client, err := etcdclient.New(etcdclient.Config{ Endpoints: []string{etcdAddr}, }) if err != nil { log.Fatal(err) } etcdReg := etcdregitry.New(client) grpcSrv, httpSrv := NewServer() app := kratos.New( kratos.Name(serviceName), kratos.Server( httpSrv, grpcSrv, ), kratos.Registrar(etcdReg), ) err = app.Run() if err != nil { log.Fatal(err) } }