Как настроить брокер.SubscriberOptions в go-micro
Я пытаюсь настроить брокера RabbitMQ, используя go-micro
фреймворк. Я заметил, что интерфейс брокера в Go-Micro имеет broker.SubscriberOptions
структура, которая позволяет настроить параметры, которые я ищу (AutoAck, имя очереди и т. д.), однако я не могу понять, как передать это при запуске брокера.
Вот так бы выглядела простая настройка микро-кролика
package main
import (
"log"
"github.com/micro/go-micro/server"
"github.com/micro/go-plugins/broker/rabbitmq"
micro "github.com/micro/go-micro"
)
func main() {
// Create a new service. Optionally include some options here.
service := micro.NewService(
micro.Name("go-micro-rabbit"),
micro.Broker(rabbitmq.NewBroker()),
)
// Init will parse the command line flags.
service.Init()
// Register handler
proto.RegisterGreeterHandler(service.Server(), new(Greeter))
micro.RegisterSubscriber("micro-exchange", service.Server(), myFunc, server.SubscriberQueue("my-queue"))
// Run the server
if err := service.Run(); err != nil {
log.Fatal(err)
}
}
micro.RegisterSubscriber
метод принимает в списке server.SubscriberOption
но не позволяет мне установить broker.SubscriberOptions
и rabbitmq.NewBroker
позволяет настроить broker.Options
но еще раз, не broker.SubscriberOptions
Я выкопал код go-micro, но не смог понять, как broker.Subscribe
метод (который выставляет правильную структуру) вызывается или кем.
Это вообще возможно? Может быть, это что-то еще не полностью реализовано в API?