github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/server/main.go (about) 1 package main 2 3 import ( 4 "log" 5 6 "github.com/micro/go-micro/examples/server/handler" 7 "github.com/micro/go-micro/examples/server/subscriber" 8 "github.com/micro/go-micro/v2/config/cmd" 9 "github.com/micro/go-micro/v2/server" 10 ) 11 12 func main() { 13 // optionally setup command line usage 14 cmd.Init() 15 16 // Initialise Server 17 server.Init( 18 server.Name("go.micro.srv.example"), 19 ) 20 21 // Register Handlers 22 server.Handle( 23 server.NewHandler( 24 new(handler.Example), 25 ), 26 ) 27 28 // Register Subscribers 29 if err := server.Subscribe( 30 server.NewSubscriber( 31 "topic.example", 32 new(subscriber.Example), 33 ), 34 ); err != nil { 35 log.Fatal(err) 36 } 37 38 if err := server.Subscribe( 39 server.NewSubscriber( 40 "topic.example", 41 subscriber.Handler, 42 ), 43 ); err != nil { 44 log.Fatal(err) 45 } 46 47 // Run server 48 if err := server.Run(); err != nil { 49 log.Fatal(err) 50 } 51 }