Dubbo - 遠程debug

  • 由於Dubbo的特性是遠程調用,因此正常來說無法在本地進行debug

    • 因爲你調用的方法在別臺機器上跑,你只能知道給他的input和他返回的結果,但沒辦法知道這個接口內部的執行,所以也沒辦法在裡面打斷點進行debug

    • 就算在本地有dubbo代碼,在本地的dubbo代碼打斷點也沒辦法debug,因爲實際上調用的是遠程服務器上的dubbo代碼,而不是本地的dubbo代碼

    • 所以如果要對遠程服務器上的dubbo代碼進行debug,需要進行特別的設置

  • 遠程debug

    • 假設有2臺機器,一臺機器是本地平常寫代碼的機器,另一臺是服務器,專門運行dubbo

    • 首先在dubbo運行的服務器上運行以下指令

      • 100.80.169.72是本地寫代碼的機器的ip

      • 9097是指將dubbo服務透過socket轉發出來的端口 (9097可以換,只要跟idea的配置一致就可以)

      socat TCP4-LISTEN:9097,fork,range=100.80.169.72/32 TCP4:127.0.0.1:9015
    • 在本地機器上的idea進行配置

      • 新增一個remote連接


      • 將Host設爲dubbo服務器的ip,Port設爲9097 (只要和TCP-LISTEN的端口一致即可)


      • 如此就可以在本地的dubbo代碼上打斷點,這個斷點位置會透過socket傳到遠程dubbo服務器上,因此我們就可以在本地對遠程的dubbo代碼進行debug


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章