美文网首页
基于micro开发之环境搭建篇

基于micro开发之环境搭建篇

作者: 盈朔 | 来源:发表于2020-11-03 15:48 被阅读0次

    一,依赖安装

           1,强制项:

          ( 1)go-micro。  go-micro是一个框架,你可以理解它是一个库,它提供了一个平台,你可以很快的开发微服务,而且你更多的关注业务逻辑的开发。

        (2)protobuf。go-micro中消息交互的格式默认是protobuf,所以你需要安装protobuf,并且还需要安装protoc-gen-go和protoc-gen-micro这两个插件。protoc-gen-go是供protoc生成工具生成go文件的调用插件,protoc-gen-micro是供protoc-gen-go生成micro格式的go文件所需的插件。

          2,  非强制项

      (1)micro工具,它是辅助你开发微服务使用的,因为你基于go-micro开发微服务,他们之间是可以相互通信的,外面访问不到。它可以辅助调试你的程序。如果你自己开发两个程序,互相调试,并且只是想先跑跑例子看看,那么这个工具可以暂时不装。

      (2)服务发现工具。go-micro默认提供mdns方式的服务注册,如果你只是学习过程中,可以先不安装。你的程序也可以运行并且跑起来。

    二,下载go包的方式

            1,gopath方式

        我喜欢的方式是把第三方的包下载好(直接去github下载或go get),放到gopath/src中,因为我的项目也在gopath/src目录中,所以直接可以使用,并且也方便去查看源码。但是这也有一个弊端,就是当第三方包层层依赖的话,你手动去做这件事会很麻烦。可能我之前用golang开发一些工具依赖都很少。所以一直这样很舒服。

            2,go mod方式

                    因为go-micro环境搭建依赖很多,而且我想尽快使用起来这个框架,最后我还是采纳了go mod这种方式。不过过程中仍然遇到很多问题。稍后说明。

    三,创建项目的方式

           1,原始方式

                     因为你已经把go-micro等go包下载完成,接下来你可以直接创建项目,然后把go-micro作为第三方包引入,调用api接口。创建对应微服务。

           2,简单方式

                     你可以直接用micro工具创建出一个微服务的脚手架。大体上的流程就是打开控制台。输入micro.new命令。

    四,过程中遇到的问题

            1,你要选择golang的版本要低于1.15。因为1.15之后对go-micro用到的一个数据结构发生了变化,导致和go-micro不兼容。程序会报问题。我目前卸载go 1.15.然后安装了一个go 1.13

            2,go-mod处出的问题,大体上就是go-micro包基于grpc开发的。然后最新的grpcv2.27也出现了不兼容的问题。需要降级到v.v26.所以这里你需要对go-mod原理,如何运行的点好好理解一下,由于我刚开始用go-mod,解决以上问题就耗费更的时间了。后来花时间去学习了一个go-mod的运行流程。

    五,我想说的话

            这篇文章不适合你对go-micro没有操作过,上来就读。这篇是我在搭建过程中,看了各种个样的文章,和搭建过程中遇到问题之后解决。包括更深入的去理解go-micro之后的总结。适合你看到五花八门的搭建方式,你一头雾水。那么这里会帮你修正搭建go-micro的认知。               

    相关文章

      网友评论

          本文标题:基于micro开发之环境搭建篇

          本文链接:https://www.haomeiwen.com/subject/mutivktx.html