SpringCloud 應用在 Kubernetes 上的最佳實踐 —— 開發篇

阿里巴巴雲原生發表於2020-07-02

頭圖.png

作者 | 孤弋 阿里雲高階技術專家,負責 EDAS 的開發和使用者體驗優化工作。

前言

近年來,雲原生、Kubernetes、微服務、SpringCloud 這些名詞在技術圈內不絕於耳,資料顯示,使用 SpringCloud 作為微服務的框架,同時選擇 Kubernetes 作為應用與基礎設施運維底座的團隊越來越多,這二者的搭檔基本上成為了業界的主流配搭。

為了順應這一趨勢,EDAS 也緊緊圍繞這一典型場景,對它的開發、測試、部署、聯調、線上運維等諸多環節中的開發者體驗進行深度打磨,釋出了全新的 3.0 版本。同時,針對如何在採用了 SpringCloud + Kubernetes 架構的應用上使用 EDAS,我們團隊提供各個環節的最佳實踐,供開發者參考。

本篇進入我們的第一章節:開發。

初始化專案

阿里巴巴從 2018 年開始開源了以原阿里集團中介軟體為主要能力、全方位對標 SpringCloud Netflix 的全家桶服務,也就是目前的 Spring Cloud Alibaba 專案( https://github.com/alibaba/spring-cloud-alibaba),經過兩年多的發展,這個專案受到了越來越多開發者的喜愛,目前的 star 數也達到了 14K。

不過對於開發者而言,選擇變多的同時,往往也會伴隨一些煩惱,比如:我們到底需要使用什麼版本?如何選擇依賴的服務?如何解決公共元件的衝突問題?為了解決這些問題,阿里雲去年上線了一款專案初始化工具( http://start.aliyun.com) ,如下圖:

1.jpg

我們通過這個頁面提供了一個生成 Java 應用(不只是 SpringCloud 應用)的白屏化工具,對於一個最簡單的 Spring Cloud 應用,只有一項是您必須要選擇的依賴,就是 Spring Cloud Alibaba 選項卡下的 Nacos Service Discovery 元件。選中之後,點選按鈕組中橙色的 “生成” ,工具會根據所需的依賴自動生成一份可直接打包執行的 pom.xml 檔案,同時將所有內容打成一個標準的 Java 專案工程包供您下載。

在本地跑起來

下載完生成的專案工程之後,對於常規 Spring Cloud 應用開發開發流程,下一步是需要去找一個(或本地搭建一個)註冊中心(如:Nacos),這個過程往往是需要花費一定時間的。去年年底我們在阿里雲的 IDE 外掛 Cloud Toolkit 中開發了一個自動拉起/選擇註冊中心, 並將應用自動適配到所選擇的註冊中心的功能。介面如下圖:

2.jpg

可以按照自身以及團隊的需求,選擇合適的註冊中心,如:可以選擇”Use Local Registry”(適合個人開發)、或選擇”Join Custom Registry”(適合團隊開發)、也選擇雲上的 Nacos 叢集(和雲上服務聯調);選擇好之後,按照正常流程再在 IDE 中啟動您的應用程式,此時應用就會自動適配到所選擇的註冊中心中,無需再去搭建一個,完全免維護。

提前做一個預告,關於開發者聯調這一塊的能力我們將會有專門的章節來講解 EDAS 中的端雲互聯的能力,您也可以去阿里雲官方文件中搜尋《端雲互聯簡介》進行前期的瞭解。

結語及其後續

在本篇中,我們站在開發者的視角對於 專案初始化本地啟動兩個開發過程中的基本環節,分別推薦了兩個工具,它們的功能並不限於文章中提到的部分,還有更多和更強大的能力等待著我們自己去挖掘,EDAS 團隊也將會在開發者體驗上持續深耕,如果您有什麼建議歡迎在文章下邊進行留言分享。

另外,此次分享的內容並沒有關於 Kubernetes 有關的話題,因為這個分享是一個系列文章,本篇僅介紹上述兩個場景,Kubernetes 等相關內容將在後續分享中逐步介紹,下一篇的內容是: 部署到雲端,敬請期待。

課程推薦

為了更多開發者能夠享受到 Serverless 帶來的紅利,這一次,我們集結了 10+ 位阿里巴巴 Serverless 領域技術專家,打造出最適合開發者入門的 Serverless 公開課,讓你即學即用,輕鬆擁抱雲端計算的新正規化——Serverless。

點選即可免費觀看課程: https://developer.aliyun.com/learning/roadmap/serverless

阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公眾號。”

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69953029/viewspace-2701982/,如需轉載,請註明出處,否則將追究法律責任。

相關文章