go-micro 微服务开发中文手册
  • Introduction
  • 概述
    • 介绍
    • 微服务
    • 架构
    • 常见问题
    • 特性
    • 路标
    • 资源
    • 用户
  • 指南
    • 安装指南
    • gRPC网关
    • 编写一个Go服务
    • 编写一个Go函数
    • 容错
  • 组件
    • Go Micro
    • API
    • Web
    • Sidecar
    • CLI
    • Bot
    • New
    • Run
  • 部署
    • Docker
    • Kubernetes
  • 插件
    • 概述
    • Go Micro
    • 工具包
    • NATS
Powered by GitBook
On this page
  • 依赖
  • Consul
  • Multicast DNS
  • Go Micro
  • 安装
  • Protobuf
  • 工具包
  • 安装
  • Docker
  • 尝试CLI

Was this helpful?

  1. 指南

安装指南

Previous指南NextgRPC网关

Last updated 5 years ago

Was this helpful?

依赖

我们需要服务发现,所以让我们启动Consul(默认),或者通过替换。

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}

工具包

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"
}

访问了解更多。

go-plugins
github.com/micro/go-micro