1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/blackbeans-go-moa-client

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 2.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 01:52 8a8801d

Использование MOA Client

  • Использование Пример ссылки

  • Установка: Установить ZooKeeper: $Zookeeper/bin/zkServer.sh start

go get github.com/blackbeans/go-moa-client/client
go get github.com/blackbeans/go-moa/proxy
  • Определение структуры, соответствующей интерфейсу сервиса:
    • Например, интерфейс:
// Интерфейс
type IGoMoaDemo interface {
    GetDemoName(serviceUri, proto string) (DemoResult, error)
}

Преобразование в следующую структуру:
type GoMoaDemo struct {
    GetDemoName func(serviceUri, proto string) (CDemoResult, error)
}
  • Запуск клиента:
consumer := client.NewMoaConsumer("go_moa_client.toml",
    []proxy.Service{proxy.Service{
        ServiceUri: "/service/bibi/go-moa",
        Interface:   &GoMoaDemo{}},
})
// Получение экземпляра вызова
h := consumer.GetService("/service/bibi/go-moa").(*GoMoaDemo)

for i := 0; i < 10000; i++ {
    a, err := h.GetDemoName("/service/user-profile", "redis")

    fmt.Printf("GetDemoName|%s|%v\n", a, err)
}
  • Описание:

    • Service — это единица сервиса, соответствующая имени удалённого вызываемого сервиса и соответствующему интерфейсу.

    • MoaConsumer требует соответствующий файл конфигурации Moa в формате toml. Конкретные настройки см. в conf/moa_client.toml.

  • Benchmark:

    env: Macbook Pro 2.2 GHz Intel Core i7

    go test --bench=".*" github.com/blackbeans/go-moa-client/client -run=BenchmarkMakeRpcFunc

    BenchmarkMakeRpcFunc-8 20000 64517 ns/op

  • redis-benchmark:

    env: Macbook Pro 2.2 GHz Intel Core i7

    go run github.com/blackbeans/go-moa-client/benchmark.go

    redis-benchmark -h host -p 13000 -n 1000000 -c 100 get '{"action":"/service/bibi/go-moa","params":{"m":"setName","args":["a"]}}'

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/blackbeans-go-moa-client.git
git@api.gitlife.ru:oschina-mirror/blackbeans-go-moa-client.git
oschina-mirror
blackbeans-go-moa-client
blackbeans-go-moa-client
master