wegatewego 開發(fā)的網(wǎng)關(guān)服務(wù)器
采用 wego 開發(fā)的網(wǎng)關(guān)服務(wù)器
wego.Router("gateway", &router.GateWayRouter{})
流程
- 解析 http 請(qǐng)求,形成請(qǐng)求參數(shù)
- 本地handler中是否有注冊(cè),如果本地有則跑本地。本地?zé)o服務(wù),也可以進(jìn)行路由注冊(cè),目的是為了進(jìn)行限速,認(rèn)證等等的處理。本地?zé)o服務(wù)的 handler 最后一個(gè)為 GateWayEndpoint,它返回GATEWAY消息
- 如若本地沒有注冊(cè),或者本地 響應(yīng) GATEWAY
- 進(jìn)行網(wǎng)關(guān)代理處理
- 從 consul 中查詢服務(wù)。如果是 http,則進(jìn)行反向代理。如果是 grpc 則代理請(qǐng)求
- 事后發(fā)送 GATEWAY_EVENT_HANDLER 事件。如果本地有注冊(cè) GATEWAY_EVENT_HANDLER 事件的處理,則可進(jìn)行事后記錄日志等的處理。
評(píng)論
圖片
表情
