• golang 之 go-micro


    在安装之前首先需要对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

      

     

      

     

     

  • 相关阅读:
    (01)Hadoop简介
    (08)java程序连接kafka示例
    (02)使用 java -classpath 命令运行jar包脚本
    (01)Eclipse中导出jar包
    (07)Kafka核心配置详解
    (06)Kafka工作原理解析
    HDU
    HDU
    POJ3525:Most Distant Point from the Sea(二分+半平面交)
    POJ
  • 原文地址:https://www.cnblogs.com/flash55/p/11300627.html
Copyright © 2020-2023  润新知