安装指南

未匹配的标注
本文档最新版为 3.x,旧版本可能放弃维护,推荐阅读最新版!

依赖

我们需要服务发现, 所以我们启动 Consul (默认支持的服务发现), 或者通过 go-plugins 替换成你想要的服务发现模块.

Consul

brew install consul
consul agent -dev

或者

docker run consul

Multicast DNS

我们可以使用 Multicast DNS 进行零依赖的服务发现功能

--registry=mdns 传递给任何命令, 例如 micro --registry = mdns list services

Go Micro

Go Micro 是Go 开发微服务的 RPC 框架

安装

go get github.com/micro/go-micro

Protobuf

如果您使用代码生成, 您还需要使用 protoc-gen-go

go get github.com/micro/protobuf/{proto,protoc-gen-go}

可参阅 github.com/micro/go-micro 了解更多.

工具包

Micro 工具包提供了访问微服务的各种方法

安装

go get github.com/micro/micro

Docker

可用预制 docker images

docker pull microhq/micro

尝试 CLI

运行 greeter 服务

go get github.com/micro/examples/greeter/srv && srv

服务清单

$ micro list services
consul
go.micro.srv.greeter

获取服务

$ micro get service go.micro.srv.greeter
service  go.micro.srv.greeter

version 1.0.0

Id    Address    Port    Metadata
go.micro.srv.greeter-34c55534-368b-11e6-b732-68a86d0d36b6    192.168.1.66    62525    server=rpc,registry=consul,transport=http,broker=http

Endpoint: Say.Hello
Metadata: stream=false

Request: {
    name string
}

Response: {
    msg string
}

查询服务

$ micro query go.micro.srv.greeter Say.Hello '{"name": "John"}'
{
    "msg": "Hello John"
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
taadis
讨论数量: 0
发起讨论 只看当前版本


暂无话题~