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  }