最近準備畫一個系統(tǒng)服務間調用關系圖,但具體到feign這里是怎么調用到另一個系統(tǒng)去柱宦,卻始終不了解国瓮,典型應用灭必,我們在聲明feign接口時,只增加了一個接口乃摹,只聲明了一個feign client name禁漓,如下圖所示:
那么messageService是如何調用到具體的服務節(jié)點的,我們來調試一下:
調用開始
不是hashcode不是toString正式開始調用
此時url已經(jīng)拼接上孵睬,feign定義clientname
居然調用了robbin的loadbalance
繼續(xù)跟播歼,來到loaderbalancercontext
很明顯lb中存有著從注冊中心拿到的實例列表,chooseServer根據(jù)負載均衡的策略選擇了一個實例掰读,我們在feign聲明的服務名稱秘狞,即nacos注冊服務名,已經(jīng)替換為對應ip