使用 go micro 搭建微服務介面的經驗教訓

xugege發表於2020-04-16

一、問題

執行micro服務時出現Rigistry consul not found問題,導致微服務執行不成功

二、原因

  • 個人原因:
    學習教程時在安裝 protoc-gen-micro該工具可以幫助我們快速生成微服務模板程式碼,
    需要用到go get github.com/micro/protoc-gen-micro
    而我在github上看到的命令是
    go get github.com/micro/protoc-gen-micro/v2,在沒有了解v1、v2版本差異的情況下就安裝了v2版本,以為版本越新越好,現在想一下確實有些範二了,導致出現如上錯誤
  • go micro原因:
    micro的最新v2版本不開箱支援consul了,目前consul現在以外掛的方式引入。
    官方推薦使用ectd,畢竟ectd現在成為了k8s的預設配置。

    ps: 附上go micro核心開發者的解釋:
    We’ve in the past week moved etcd to become one of the default service discovery mechanisms in Micro and will be looking to deprecate Consul in the coming weeks. What does this mean? Well we’ll be moving consul to our community maintained go-plugins repository and focusing on supporting etcd.
    https://medium.com/microhq/deprecating-con...
    ps: 感謝laravel 學院君的解答,他最近會出一門最新的go module 下micro+ectd微服務的教程,歡迎有興趣的同學去關注。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章