zoukankan      html  css  js  c++  java
  • mirco新建proto流程

    折腾了一段时间,现在终于对mirco有点了解了,于是就记录下mirco新建proto的流程

    1、新建服务

    micro new --type "srv" 项目路径

    如:micro new --type "srv" sss/GetImageCd

    接下来会输出一堆东西,记录下这两行,待会儿会用到

    2、进入到proto目录,编写protobuf数据格式

     如果不想用默认方法,可以把这个Call改成自己想要的方法名

     

     定义好Request和Response后,执行之前记录下来的那两行命令

    cd /opt/golangProject/src/sss/GetImageCd
    protoc --proto_path=.:$GOPATH/src --go_out=. --micro_out=. proto/GetImageCd/GetImageCd.proto

    执行成功后,会生成两个文件

    3、在新建的服务的根目录下,执行go mod init(没有用go moudle管理的话,可以忽略3,4步)

    修改go.mod,新加这两行,不然的话无法调用

    4、进入到proto目录,执行go mod init,如果不执行这步,那么web端将无法调用服务端的protobuf

    5、如果遇到proto与服务定义的结构体冲突了的话,那么取另一个名就好了,然后对应修改下面的文件

    别名冲突

     修改为

     对应修改下面的文件

    src/sss/GetImageCd/handler/GetImageCd.go

    src/sss/GetImageCd/subscriber/GetImageCd.go

    其实就是在服务根目录下,这些方法对应的调用文件

    6、编译服务

    go build main.go

    编译的时候,会出现以下报错

    # github.com/coreos/etcd/clientv3/balancer/picker
    ../../pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions
    ../../pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/picker/roundrobin_balanced.go:55:54: undefined: balancer.PickOptions
    # github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
    ../../pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption
    ../../pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:182:31: undefined: resolver.ResolveNowOption

    原因 grpc版本不对

    解决方法

    go mod edit -require=google.golang.org/grpc@v1.26.0

     go get -u -x google.golang.org/grpc@v1.26.0

    7、服务调用测试

  • 相关阅读:
    Latin1的所有字符编码
    Qt自定义委托在QTableView中绘制控件、图片、文字(内容比较全)
    Delphi5 update1的序列号
    Access Violation at address 00000000.Read of address 00000000 解决办法
    RealThinClient学习(一)
    使用WebDriver遇到的那些坑
    谱聚类(Spectral Clustering)详解
    Asp.net Mvc4默认权限详细(上)
    ASP.NET Web API中的JSON和XML序列化
    [珠玑之椟]估算的应用与Little定律
  • 原文地址:https://www.cnblogs.com/zhp-king/p/13995000.html
Copyright © 2011-2022 走看看