订阅消息
首先,我们定义消息处理程序,./subscriber/micro.go:
package subscriber
import (
"context"
log "github.com/micro/go-micro/v2/logger"
"micro-hello/proto/hello"
)
type Micro struct{
}
func (e *Micro) Handle(ctx context.Context, msg *hello.Message) error {
log.Info("Handler Received message: ", msg.Say)
return nil
}
func Handler(ctx context.Context, msg *hello.Message) error {
log.Info("Function Received message: ", msg.Say)
return nil
}
方法与结构体都可以用来进行消息,只要标志是func(context.Context, v interface{}) error
方法的第二个参数是*hello.Message,micro会自动将消息解码,所以我们可以直接在方法中使用。
在准备好消息处理程序,我们要注册它,相关代码在./main.go:
// Register Struct as Subscriber
micro.RegisterSubscriber("go.micro.service.micro",