micro api 無法使用consul解決方法


最近再研究引入consul作為micro的注冊中心和配置中心的時候,遇到了個問題

micro --registry=consul --registry_address=xxxxx api --handler=api

看着網上搜刮回來的資料,執行命令暴露端口使其能通過http訪問,然后就報錯了 ,--registry=consul --registry_address=xxxxx 這兩個參數無法使用使用,去掉這兩個參數直接運行,consul注冊不了服務又會導致無法找到該服務。。。

在運行開源項目遇到問題的時候,我一般的解決思路是優先去github上的issue去搜索關鍵字,沒找到的話就去查官方文檔和google,之后再issue上找到了解決方法,原因是micro在1.13之后的版本,已經不支持命令行使用consul了,解決方法就是重新編譯micro,先放下地址

https://github.com/micro/micro/issues/405

這里簡單的說下步驟

1、cd $GOPATH/src/github.com/micro/micro (如果用的是go module,那么就去pkg目錄下去找,最簡單的方法就是ide隨便引入micro的方法,鼠標點一下調用方法出來的文件就能找到目錄了)

2、創建plugins.go並加入下面的代碼

package main

import (
    _ "github.com/micro/go-plugins/registry/consul"
)

3、重新編譯 

go build -o micro main.go plugins.go

4、最后用重新編譯的可執行文件重新運行命令即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM