Heim > Artikel > Backend-Entwicklung > So richten Sie eine Go-Micro-Entwicklungsumgebung ein
, um die Methode zum Erstellen einer Go-Micro-Entwicklungsumgebung vorzustellen. Ich hoffe, dass es den Freunden, die es benötigen, hilfreich sein wird!
Da ich kürzlich go-micro verwenden muss, lerne ich etwas über Microservices. Dieser Artikel zeichnet den Konstruktionsprozess von Micro auf.
Installationsumgebung
Quellcode
go get github.com/micro/micro/v2
Docker
docker pull micro/micro
# MacOS curl -fsSL https://raw.githubusercontent.com/micro/micro/master/scripts/install.sh | /bin/bash # Linux wget -q https://raw.githubusercontent.com/micro/micro/master/scripts/install.sh -O - | /bin/bash # Windows powershell -Command "iwr -useb https://raw.githubusercontent.com/micro/micro/master/scripts/install.ps1 | iex"
https://github.com/micro/micro/releases
micro webBesuchen Sie jetzt
, um die Webseite des Mikros anzuzeigen.
Protoc ist der Compiler von Protobuf, und Protobuf ist ein Format zum Übertragen von Daten wie JSON und XML.
Protokoll-Download-Adresse$ micro web2020-07-05 04:24:16 file=http/http.go:90 level=info service=web HTTP API Listening on [::]:80822020-07-05 04:24:16 file=v2@v2.9.1/service.go:200 level=info service=web Starting [service] go.micro.web2020-07-05 04:24:16 file=grpc/grpc.go:864 level=info service=web Server [grpc] Listening on [::]:264492020-07-05 04:24:16 file=grpc/grpc.go:697 level=info service=web Registry [mdns] Registering node: go.micro.web-b76a12a1-5226-429f-9633-ce304f179657Nach dem Herunterladen befindet sich eine ausführbare Protokolldatei im bin-Ordner. Fügen Sie diese der Umgebungsvariablen hinzu. (Sie können es einfach direkt in einem Ordner ablegen, der Umgebungsvariablen hinzugefügt hat. Dadurch kann vermieden werden, dass der Computer mit verschiedenen Umgebungsvariablen gefüllt wird, und das Ablegen häufig verwendeter Tools in einem Ordner ist auch für die Verwaltung praktisch.)
localhost:8082
Empfohlen: „
https://github.com/protocolbuffers/protobuf/releases
Es gibt insgesamt drei Dateien: ,
,go get -u github.com/golang/protobuf/proto go get -u github.com/golang/protobuf/protoc-gen-go
server.goserver.go
syntax = "proto3";package protos;service Greeter { rpc Hello (Request) returns (Response){};}message Request { string name = 1;}message Response { string greeting = 2;}
client.go
greeter.proto
client.gopackage mainimport ( "context" "fmt" "github.com/micro/go-micro/v2")type Greeter struct {}func (g *Greeter) Hello(context context.Context, req *Request, rsp *Response) error { rsp.Greeting = "Hello " + req.Name return nil}func main() { service := micro.NewService( micro.Name("greeter"), ) service.Init() err := RegisterGreeterHandler(service.Server(), new(Greeter)) if err != nil { fmt.Println(err) } if err := service.Run(); err != nil { fmt.Println(err) }}Es ist Es wird dringend empfohlen, Go Mod zu verwenden Abhängigkeiten verwalten, Projekte Die Update-Geschwindigkeit ist sehr hoch. Es gibt verschiedene Fehler während des Installationsprozesses. client.go-Dateien befinden sich
package mainimport ( "context" "fmt" "github.com/micro/go-micro/v2")func main() { service := micro.NewService(micro.Name("greeter.client")) service.Init() greeter := NewGreeterService("greeter", service.Client()) rsp, err := greeter.Hello(context.TODO(), &Request{Name: "Zaun pianist"}) if err != nil { fmt.Println(err) } fmt.Println(rsp.Greeting)}im selben Ordner. Nach Abschluss der Kompilierung werden zwei Go-Quellcodedateien generiert:
Ausführen
module hello go 1.14require ( github.com/golang/protobuf v1.4.0 github.com/micro/go-micro/v2 v2.9.1 google.golang.org/protobuf v1.22.0)
protoc --micro_out=. --go_out=. greeter.protoSie können sie auch auf der Webseite anzeigen.
go run server.go greeter.pb.go greeter.pb.micro.go
greeter.pb.go
micro list services
greeter.pb.micro.go
Testenmicro webrrreeAchten Sie auf die darin enthaltene IP-Adresse. Sie ist unter 10.198.xx
Geben Sie also bei der Registrierung des Dienstes die IP-Adresse ango run ./
$ micro list services go.micro.web greeterSie werden nichts falsch machen, wenn Sie ihn zu diesem Zeitpunkt mit dem Client aufrufen.
go run client.go greeter.pb.go greeter.pb.micro.go
Das obige ist der detaillierte Inhalt vonSo richten Sie eine Go-Micro-Entwicklungsumgebung ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!