Использование 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 )