經過一夜的促膝長談, 小白開啟了新世界的大門…
對新姿勢充滿了期待. 絕對沒有錯別字
Micro 低著頭紅著臉滿足了小白的索求.
微服務圍繞服務展開, 所以我們先試試如何建立一個自己的服務.
新建一個 main.go
檔案, 程式碼如下:
// main.go
package main
import (
"log"
"github.com/micro/go-micro/v2"
)
func main() {
// 建立一個新的服務,
// 引數為這個新服務的一些屬性.
// 比如: 這個新服務的名字叫什麼.
service := micro.NewService(
micro.Name("go.micro.custom"),
)
// 初始化服務
service.Init()
// 執行服務
if err := service.Run(); err != nil {
log.Fatalln(err)
}
}
然後我們直接啟動這個服務:
go run main.go
不出意外的話, 應該會輸出如下資訊:
2020-03-23 13:38:11 level=info Starting [service] go.micro.custom
2020-03-23 13:38:11 level=info Server [grpc] Listening on [::]:29978
2020-03-23 13:38:11 level=info Registry [mdns] Registering node: go.micro.custom-b7cfabd1-75f5-453d-9e93-4489bbefa3ce
可以看出
- 我們啟動了一個叫做 go.micro.custom 的 [service];
- [service] 本身需要向外提供服務, 所以同時是一個 Server, 自然需要一個埠, 這裡給了一個隨機埠 29978;
- 順帶還把這個新服務的名字和埠告訴了 [mdns] 小姐姐.
小白表示, 我跟 Micro 解鎖姿勢, 還告訴 [mdns] 小姐姐, 這是什麼神奇操作, 想想就更加雞動了.
Micro 翻翻白眼幽幽說到: “馬上你就知道了”.
還記得昨天晚上怎麼檢視服務嘛? 快試試.
“當然記得.” 小白麻溜的檢視了下服務.
micro list services
不出意外的話, 應該會輸出如下結果:
go.micro.custom
看到了嘛, 通過 micro.NewService()
函式建立的服務啟動之後, 會自動把服務名稱和埠號告訴 [mdns] 小姐姐, 這樣你下次幹什麼壞事或者跑路了她就知道了, 然後她就可以告訴其他姐妹們.
“哦哦, 這樣啊. 原來還有其他小姐姐(們)” 小白心裡記下了這十分重要的資訊.
本作品採用《CC 協議》,轉載必須註明作者和本文連結