Как настроить брокер. SubscriberOptions в go-micro - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь настроить брокера RabbitMQ с использованием инфраструктуры go-micro.Я заметил, что интерфейс брокера в go-micro имеет broker.SubscriberOptions struct , которая позволяет настраивать параметры, которые я ищу (AutoAck, имя очереди и т. Д.), Однако я не могу понять, какПередайте это при запуске брокера.

Вот так выглядит простая настройка go-micro кролика:

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?

...