服務框架之介面路由

2021-10-25 20:59:01 字數 850 閱讀 2173

路由匹配規則

路由維護

無論是web server框架還是rpc框架,介面作為服務的對外入口,其背後可能包含複雜的後端流程,不限於業務邏輯處理、資料處理&操作、基礎能力呼叫等。所以介面和「後端流程」之間必然存在著對映交付關係。

路由機制

以下均以web框架為例,rpc框架相比web更為直接,即指定方法呼叫

http api 請求rpc呼叫本質上都是通過網路完成通訊雙方互動。我們不侷限在業內常見的平台化、微服務化中對兩者的應用,其實可以這樣泛化理解所有「互動」有如下要素:

通訊內容

通訊的任務就是傳遞資訊,無非就是資料,結構化資料、非結構化資料都有相應的表示形式,輔之以眾多協議,能夠有效地被組織起來進行傳輸。例如,最常見的http請求get引數、json格式引數、rpc protobuf等

通訊目標

資料送達至何處。

這也是介面概念的關鍵,在計算機網路中能夠定位到網路中確定主機和程序,如何將網路請求交付處理呢?那麼介面就是網路請求對號入座的入口,常見框架中路由匹配規則也都大同小異。

路由註冊實現介面到控制器的對映,以此為基礎完成後續處理流程

同時還可以註冊中介軟體,構建請求處理過程的執行鏈路

路由註冊方式多種,原理上歸納為以下幾種:

基於配置(靜態)

基於反射、註解、動態**(動態)

精確匹配

模式匹配

引數輔助匹配

最終路由註冊產出結果主要如下兩種形式(求見多識廣的小夥伴補充~)

路由表

路由樹常用最長字首匹配

Apache Camel框架之FTP路由

在做專案整合型別的專案的時候,經常會有這樣的需求,使用者或者別的系統將檔案傳到乙個ftp server,然後系統從ftp server取檔案進行相應的處理.可以參照這個 2,在camel裡實現路由 camelcontext context new defaultcamelcontext contex...

集合框架Set介面之hashset

1 set介面 public inte ce set extends collection 乙個不包含重複元素的collection。更確切的說,set不包含滿足 e1.equal e2 的元素對e1和e2,並且最多包含乙個null元素.set介面不包含重複的元素,並且做多只能有乙個null值,而l...

Python之Flash路由框架 初識Flash

授課 林德堯 泉舟時代 未來城市技術總監 1,flash框架意義 flask是python的web框架,最大的特徵是輕便,讓開發者自由靈活的相容要開發的feature。一,為什麼要從flask開始學習web框架?1.python語言的靈活性給予了flask同樣的特徵 2.無論是使用者畫像還是產品推薦...