分佈式中臺-Dubbo的源碼剖析之過濾器和監聽器

Dubbo的Filter形成的是過濾鏈條,根據不同的業務形成了不同的過濾方式,此過濾信息目的是某些業務或者請求合規。監聽器作爲Dubbo的流程監控,採用代理模式,根據不同業務對象的生命週期,暴漏和實現不同的業務方法。Dubbo的監聽器類型分爲DeprecatedInvokerListener、ExporterListenerAdapter、InvokerListenerAdapter、ListenerExporterWrapper、ListenerInvokerWrapper。具體的監聽器、過濾器的具體職能需要根據業務場景去理解和解讀。
從Dubbo的過濾器,我想到了Lucene的token過濾,兩者採用了一樣的思路,即管道鏈條的概念。此種設計模式的好處是能夠將所處理事務按照管道的形式處理,並且自由組裝,不存在先後順序。此種模式設計必須保證主幹道一致,也就是無論怎樣進行修剪一定要保證主幹道的性質不變。另外此種模式處理的介質一定是數據資源,類似於管道中必須具備流體介質。
在結構上,監聽器和過濾器分佈上採用“集中”+"分佈"的模式,集中的設計實現一定是通用的設計,分佈存儲的一定是與具體的業務相關的結構。例如,Dubbo協議包中也存在監聽器和過濾器,裏面的過濾器一定是與Dubbo協議具體相關的業務操作。
Dubbo採用這種靈活的設計架構,帶來的好處是以擴展和修改的干擾性較小。劣勢是對於人員較少的公司,維護起來較爲笨重。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章