在安装之前首先需要对go-micro有一定的了解

https://micro.mu/docs/cn/  go-micro中文文档

https://juejin.im/post/5cebafe6f265da1bb80c0cc7  go-micro源码

https://segmentfault.com/a/1190000007917576  prodoful语法

micro

执行下面代码会等一段时间,到在最后发现并不能安装完整,别着急,因为micro包有些是需要翻墙下载,用下面的方法一个个把缺失的安装好

go get -u github.com/micro/micro

protobuf

可以直接使用brew install protobuf 写在,也可以去git  https://github.com/protocolbuffers/protobuf/releases下载最新的包下载然后编译安装即可。最后安装下面的即可。

解压之后将bin文件夹加入环境变量,或者里面的protoc.exe路径加入环境变量,这个exe文件就是我们转换protobuf的工具。

然后我们使用一些golang对于protobuf的工具,go get相应的库

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

consul

go-micro默认使用consul,如果你不喜欢用consul,也可以自己下载etcd或者其他安装使用,后续会介绍如何安装etcd。

直接使用命令安装或者去https://www.consul.io/downloads.html

brew install consul

 下载完之后加入环境变量,启动

consul agent -dev

安装grpc和genproto

mkdir $GOPATH/src/google.golang.org
cd $GOPATH/src/google.golang.org git clone https://github.com/grpc/grpc-go.git grpc
git clone https://github.com/google/go-genproto.git genproto

安装 golang的net,crypt,text库

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x git clone https://github.com/golang/net.git
git clone https://github.com/golang/crypto.git
git clone https://github.com/golang/text.git

 最后在Mac 环境下执行,没有报错大功告成。

go install github.com/micro/micro

环境变量

不管是windows, mac 还是Linux想要执行micro命令都需要配置环境变量。  

cd GOPATH/src/github.com/micro/micro

执行 go build

会在GOPATH/bin文件夹下生成micro.exe文件,将GOPATH/bin文件夹路径加入环境变量后我们就可以直接运行micro命令了,如果没有在bin文件夹生成那么手动移到该文件夹。

测试

执行下面命令生成go-micro项目

micro new github.com/micro/example

注意 github.com/micro/example只是示例,要在本地测试,直接改成自己的路径即可

那么生成的项目就在GOPATH/src/hdy/micro/example

example/
Dockerfile # A template docker file
README.md # A readme with command used
handler/ # Example rpc handler
main.go # The main Go program
proto/ # Protobuf directory
subscriber/ # Example pubsub Subscriber

  然后运行

protoc --proto_path=. --micro_out=. --go_out=. proto/example/example.proto

  最后运行前确保etcd或者consul是开启的状态

go run main.go

  即可看到完整的一个项目了。

检测

micro list services
列出所有服务

详细还请见GitHub  https://github.com/micro/micro

 

 

  

 

golang 之 go-micro的更多相关文章

  1. Golang微服务:万精油NATS在Micro中的应用

    NATS是一个Golang技术栈的MQ服务,类似NSQ,但NATS更轻量级.性能更好.不支持离线.支持同步/异步通信模型,非常好用. NATS在MICRO中有哪些应用 Transport 笔者以前开发 ...

  2. golang微服务框架go-micro 入门笔记2.3 micro工具之消息接收和发布

    本章节阐述micro消息订阅和发布相关内容 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架go-mi ...

  3. golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

    micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go- ...

  4. golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

    micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.s ...

  5. Golang微服务:Micro Trace使用opentracing jaeger

    trace Micro通过Wrapper实现了三种trace接口,aswxray,opencensus,opentracing,这里主要关注opentracing,opentracing已成为行业标准 ...

  6. Golang微服务:Micro限流、熔断

    Wrapper Wrapper提供了一种包装机制,使得在执行某方法前先执行Wrapper,优点Filter的意思:因此可以在客户端和服务器做很多功能:熔断限流.Filter.Auth等. client ...

  7. Golang微服务:micro实践

    micro 使用 工具安装 使用protoc生成代码,依赖两个插件:protoc-gen-go.protoc-gen-micro micro 工具 go get -u github.com/micro ...

  8. Golang微服务:Micro介绍

    官方文档地址 https://micro.mu/docs/index.html Tookit API HTTP接入网关.反向代理或将HTTP转为RPC请求调用后端服务 Web 一个web应用程序,默认 ...

  9. golang项目:goa和micro

    https://github.com/goadesign/goa http://www.cnblogs.com/zhangqingping/p/5531171.html https://github. ...

  10. golang micro client 报错500 {"id":"go.micro.client","code":408,"detail":"call timeout: context deadline exceeded","status":"Request Timeout"}

    go micro web端连接services时,第一次访问提示500(broken pipe),排查发现客户端请求services时返回 {"id":"go.micro ...

随机推荐

  1. December Challenge 2019 Division 1 题解

    传送门 当我打开比赛界面的时候所有题目都已经被一血了-- BINXOR 直接把异或之后二进制最多和最少能有多少个\(1\)算出来,在这个范围内枚举,组合数算一下就行了.注意\(1\)的个数是\(2\) ...

  2. K8s Service原理介绍

    Service的工作方式有三种: 第一种: 是Userspace方式 如下图描述, Client Pod要访问Server Pod时,它先将请求发给本机内核空间中的service规则,由它再将请求, ...

  3. 第09组 Alpha冲刺(6/6)

    队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 过去两天完成了哪些任务 文字/口头描述 博客撰写,文档,答辩材料整理. 展示GitHub当日代码/文档签入记录 接下来的计划 QA. 还剩下哪些 ...

  4. tomcat做成Windows自启动服务

    一.下载Tomcat 下载Windows版本的tomcat,一般是以zip结尾的包,免安装的包,而Linux包虽然解压可以运行,但是缺少service.bat关键文件,无法做成服务形式 下载网站: h ...

  5. 帝国cms替换iwms幻灯图片问题

    在管理标签模板中增加一个新模板 页面模板内容为:[!--empirenews.listtemp--]<!--list.var1-->[!--empirenews.listtemp--] 列 ...

  6. eclipse 如何将文件编辑器窗口的背景填充为背景图片?

        1.情景展示 文件编辑窗口的背景默认为白色. 我们知道,对于整日面对电脑的程序员来说,白色容易造成眼疲劳,而且对于眼睛的伤害比较大. 所以,eclipse添加了黑色主题. 切换成黑色主题 改变 ...

  7. [原创]敏捷管理实践Scrum思维导图

    [原创]敏捷管理实践Scrum思维导图

  8. 责任链模式(chainOfResponsibility)

    参考文章:http://wiki.jikexueyuan.com/project/design-pattern-behavior/chain-four.html 定义: 使多个对象都有机会处理请求,从 ...

  9. border-radius实例2

    一.border-radius 最大值100% /* border-radius的最大值是100% */ .block { width: 100px; height: 100px; border: 1 ...

  10. sql server中raiserror的用法(动态参数传值)

    1.raiserrror定义: 返回用户定义的错误信息并设系统标志,记录发生错误.通过使用 RAISERROR 语句,客户端可以从 sysmessages 表中检索条目, 或者使用用户指定的严重度和状 ...