夜漸漸黑了, 又到了探索新姿勢的時候…
小白拉著 Micro 又開始了不可描述的故事.
Micro 輕聲細語訴說著關於 API Gateway 小姐姐的喜好, 以便小白以後下手. 晴時笑語聞空虛
API Gateway, 顧名思義就是 API 閘道器, 通常有著承上啟下的作用, 或者說承前啟後更合適.
不過我覺得用 “一夫當關萬夫莫開” 來形容閘道器再合適不過了.
CLI
Micro 提供了對 API Gateway 的命令列介面支援.
我們先來看看幫助命令:
micro help api
不出意外的話, 會輸出如下內容:
NAME:
micro api - Run the api gateway
USAGE:
micro api [command options] [arguments...]
OPTIONS:
--address value Set the api address e.g 0.0.0.0:8080 [%MICRO_API_ADDRESS%]
--handler value Specify the request handler to be used for mapping HTTP requests to services; {api, event, http, rpc} [%MICRO_API_HANDLER%]
--namespace value Set the namespace used by the API e.g. com.example.api [%MICRO_API_NAMESPACE%]
--resolver value Set the hostname resolver used by the API {host, path, grpc} [%MICRO_API_RESOLVER%]
--enable_rpc Enable call the backend directly via /rpc (default: false) [%MICRO_API_ENABLE_RPC%]
--enable_cors Enable CORS, allowing the API to be called by frontend applications (default: true) [%MICRO_API_ENABLE_CORS%]
看著有點小亂, 直接盤她.
輸入以下命令試試先:
micro api
不出意外的話, 會輸出如下內容:
micro api
2020-03-24 14:47:04 level=info service=api Registering API Default Handler at /
2020-03-24 14:47:04 level=info service=api HTTP API Listening on [::]:8080
2020-03-24 14:47:04 level=info service=api Starting [service] go.micro.api
2020-03-24 14:47:04 level=info service=api Server [grpc] Listening on [::]:41531
2020-03-24 14:47:04 level=info service=api Registry [mdns] Registering node: go.micro.api-49c65de0-8543-4976-bc8b-107e13723a7b
通過輸出資訊可以看出
- 新增了對路徑
/
的預設處理器, 一會我們可以訪問下試試; - 監聽了
8080
埠, 一會我們訪問就用這個埠; - 啟動了一個叫
go.micro.api
的 service, 一會我們可以檢視下服務列表; - 服務同時提供了 grpc 的伺服器, 埠是
41531
- 當然一如既往的把這些告訴了 [mdns] 小姐姐
現在我們訪問下試試
curl http://localhost:8080
當然你也可以直接在瀏覽器裡訪問.
不出意外的話, 會輸出如下內容:
{"version": "latest"}
再來檢視下服務:
micro list services
不出意外的話, 應該會輸出如下內容
go.micro.api
“新姿勢一如既往的容易操作和理解” 小白沾沾自喜地心想…
Micro 彷彿看懂了小白再想什麼, 幽幽回了一句: “等你真正深入後就慢慢懂了”.
本作品採用《CC 協議》,轉載必須註明作者和本文連結