您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何進行Serverless中SAE的遠程調試和云端聯調,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
經過之前課程的學習,相信大家對于 Serverless 應用引擎(SAE)已經有了一定的了解,SAE 是一款基于容器與 kuberneters 的應用 PaaS 平臺,在 SAE 提供的 Serverless 場景下,我們不需要再關注底層資源的運維,只需要關注應用的業務邏輯本身。但是,我們在開發測試階段通常會需要用到調試功能,因此,為了方便用戶調試,我們提供了遠程調試功能,目前只支持 Java 程序的遠程調試。
眾所周知,我們的 Java 程序是運行在 Java 虛擬機(JVM)之上的,JVM 不單單為我們的 Java 程序提供了跨平臺能力,并且也提供了相應接口與協議方便遠程調試。JDK 中有一個叫 JPDA 的體系來規范與支持 Java 程序的調試,在這個體系中,調試發起者與被調試程序的 JVM 底層分別由 JDI 與 JVMTI 模塊來支持,而兩個接口之間則是有 JDWP 來負責相互之間的通信。
由此可見,遠程調試的本質就是兩個 JVM 通過一個連接保持通信,被調試的程序作為服務端,在某個指定的端口監聽調試指令,而調試發起者則是作為客戶端連接目標端口,發送各種調試指令并且接收調試狀態。
我們此時已經了解了 Java 程序遠程調試的原理,那么對于部署在 SAE 中的 Java 應用是如何實現遠程調試的?
首先,在 SAE 部署的 Java 應用需要先開啟調試模式,因此需要在部署應用時添加相關的啟動命令。另外,由于 SAE 的應用默認是無法提供公網訪問的,所以需要一個 SLB 提供公網訪問能力。以上兩條都設置好之后,最后可以獲得一個調試程序用 IP 與端口,將這個 IP+端口 設置到 IDE 中就能夠開始遠程調試了。
注:以上操作見文章【實操演示】部分。
除了遠程調試,對于微服務的應用,端云聯調也是一個非常重要的功能。
我們在微服務架構下的開發測試過程中,經常會遇到需要上線一個新的服務或者更新一個舊服務的版本的情況。如果沒有端云聯調,我們只能先在測試環境測試之后再上線生產環境。而通常測試環境與生產環境有著這樣那樣的差異,導致有些隱藏的問題無法被及時發現。
而有了端云聯調功能后,在正式上線之前,我們能夠直接實現本地服務與部署在云端的服務相互調用,這樣就能夠方便我們更加貼近實際生產環境進行調試。
首先,部署在 SAE 上的服務與本地網絡上是有隔離的,所以需要在同一個 VPC 下購買一個 ECS 充當跳板機。借助這個跳板機我們可以通過 IDEA 的插件完成本地服務在云端注冊中心的注冊與服務發現。最后即可完成端云互聯,進行端云聯調。
關于如何進行Serverless中SAE的遠程調試和云端聯調就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。