一個精彩的播客:Google 瘋狂科學家 Josh Suereth 關於 OpenTelemetry 可觀測性、構建更好的構建工具等等的分享

工程 | Josh Long | 2022 年 10 月 13 日 | ...

大家好,Spring 粉絲們!在本期節目中,Josh Long (@starbuxman) 將探討 Spring Boot 3 AOT 的最新進展,然後與 Google 的 Josh Suereth (@jsuereth) 討論使用 OpenTelemetry 實現可觀測性、構建更好的構建工具等等。

想了解更多關於 Spring Boot 和更廣泛生態系統的資訊嗎?SpringOne 2022 就要到了!如果你想有機會向原始碼學習,我希望你能加入我們,於 2022 年 12 月 6 日至 8 日,就在我的家鄉舊金山,我最喜歡的美國西海岸城市。 (悄悄告訴你:如果你現在註冊,使用此…,通行證價格可享 200 美元折扣)

Spring Boot 3 中的可觀測性

工程 | Marcin Grzejszczak | 2022 年 10 月 12 日 | ...

Spring 可觀測性團隊一直在為 Spring 應用新增可觀測性支援,並且已經持續了一段時間。我們很高興地通知您,此功能將在 Spring Framework 6 和 Spring Boot 3 中普遍可用!

什麼是可觀測性?在我們看來,它是“透過檢查系統的輸出來瞭解其內部運作的程度”。我們認為,指標、日誌記錄和分散式跟蹤之間的相互關聯使您能夠推斷系統的狀態,以便除錯應用程式中的異常和延遲。您可以在Enlightning 與 Jonatan Ivanov 的這一集中觀看更多關於我們對可觀測性的理解…

擁抱虛擬執行緒

工程 | Mark Paluch | 2022 年 10 月 11 日 | ...

透過 JEP 425,Project Loom 已進入 JDK。自 2022 年 9 月的 Java 19 版本起,它作為預覽特性提供。其目標是顯著減少編寫、維護和觀察高吞吐量併發應用程式的工作量。

虛擬執行緒的適用場景

這使得輕量級虛擬執行緒成為應用開發者和 Spring Framework 的一種令人興奮的方法。過去幾年,應用之間透過網路互相通訊的趨勢日益明顯。許多應用使用資料儲存、訊息代理和遠端服務。如果構建時使用了阻塞 I/O 工具,例如 InputStream 以及同步的 HTTP、資料庫和訊息代理客戶端,那麼 I/O 密集型應用將是虛擬執行緒的主要受益者。在虛擬執行緒上執行此類工作負載…

Spring 本週回顧 - 2022 年 10 月 11 日

工程 | Josh Long | 2022 年 10 月 11 日 | ...

大家好,Spring 粉絲們!歡迎來到新一期的《Spring 本週回顧》!我寫這期的時候正在為我的比利時安特衛普之行打包和準備,去參加那裡總是很精彩的 Devoxx 大會。疫情期間我非常想念這個大會,現在也非常期待能夠再次參加。我希望在那裡能見到大家!我將和我的朋友 James Ward 一起,介紹 Spring Boot 3 和 Kotlin 中的一些新穎之處。這將會非常棒——加入我們,我們將一起玩得開心!

現在,我們有很多內容要講,所以讓我們直接開始吧!

Spring 技巧:Spring Boot & Apache Kafka

工程 | Josh Long | 2022 年 10 月 10 日 | ...

大家好,Spring 粉絲們!在本期 Spring 技巧中,我將探討備受推崇的 Apache Kafka 代理及其在 Spring Boot 生態系統中不同抽象級別的整合。

想了解更多關於事件驅動架構、AOT 和 GraalVM、Apache Kafka 以及 Spring Boot 的資訊嗎?SpringOne 2022 就要到了!如果你想有機會向原始碼學習,我希望你能加入我們,於 2022 年 12 月 6 日至 8 日,就在我的家鄉舊金山,我最喜歡的美國西海岸城市。 (悄悄告訴你:如果你現在註冊,使用此程式碼 S1VM22_Advocate_200,通行證價格可享 200 美元折扣。)

一個精彩的播客:Spring 和 Java 社群傳奇人物 Marten Deinum

工程 | Josh Long | 2022 年 10 月 06 日 | ...

大家好,Spring 粉絲們!在本期節目中,Josh Long (@starbuxman) 與長期活躍於 Spring 社群的成員和傳奇人物 Marten Deinum (@mdeinum) 聊了聊潛水、軟體、Spring、社群等等。

另外:我修復了過去幾期節目中間出現的奇怪靜音!感謝大家與我一起忍受。我不知道出了什麼問題,但現在我知道如何修復它了

想結識我們生態系統中更多了不起的人物,比如 Marten 嗎?SpringOne 2022 就要到了!我感覺這就像某種重要的節日來臨前的焦慮又興奮的時刻,你會收到禮物!隨之而來的還有 Spring Boot…

Spring 本週回顧 - 2022 年 10 月 4 日

工程 | Josh Long | 2022 年 10 月 04 日 | ...

大家好,Spring 粉絲們!歡迎來到新一期的《Spring 本週回顧》!今天是 2022 年 10 月 4 日,我正在德克薩斯州奧斯汀參加原名為 Kafka Summit 的新版大會,在這裡與大家討論 Spring Boot 和 Apache Kafka 的絕佳機會。12 日我將在比利時安特衛普參加精彩的 Devoxx 大會。10 月 17 日至 20 日,我將在拉斯維加斯參加新版 JavaOne 大會。嗯,還有更多內容,但我暫時不能透露具體細節。敬請關注!

至於現在,我很高興來到這裡!本週我們有很多精彩內容要講,所以讓我們直接開始吧…

一個精彩的播客:思想領袖 Chris Richardson(不,我使用這個頭銜可不是諷刺!)

工程 | Josh Long | 2022 年 9 月 29 日 | ...

大家好,Spring 粉絲們!在本期節目中,Josh Long (@starbuxman) 與他的朋友 Chris Richardson (@crichardson) 進行了交談。Chris Richardson 早在時代思潮興起之前就幫助闡述和推進了雲計算、反應式程式設計、微服務、領域驅動設計、事件溯源等等眾多領域。而且,我們以前還是同事!

想結識我們生態系統中更多了不起的人物,比如 Chris 嗎?SpringOne 2022 就要到了!我感覺這就像某種重要的節日來臨前的焦慮又興奮的時刻,你會收到禮物!隨之而來的還有 Spring Boot 3 和 Spring Framework 6。我們將要宣佈…

告別密碼:Spring Boot 應用連線 Azure 服務無需密碼

工程 | Josh Long | 2022 年 9 月 27 日 | ...

使用使用者名稱/密碼憑據從一個應用訪問另一個應用會帶來巨大的安全風險。今天,我們宣佈推出 Java 應用連線 Azure 資料庫和事件服務的無密碼連線預覽版,讓您最終擺脫使用密碼的方式。

密碼帶來的安全挑戰

應謹慎使用密碼,開發者絕不能將密碼放在不安全的位置。許多 Java 應用使用使用者名稱和密碼,或其他敏感憑據,例如訪問令牌或連線字串,連線到後端資料、快取、訊息和事件服務。如果暴露,密碼可能被用於未經授權地訪問敏感資訊,例如您為即將到來的活動構建的銷售目錄,或僅僅是必須保密的所有客戶資料。

將密碼嵌入應用程式本身會帶來巨大的安全風險,原因有很多,包括透過程式碼倉庫被發現(見圖 1)。許多開發者使用環境變數將密碼外部化,以便應用可以從不同的環境載入密碼。然而,這只是將風險從程式碼本身轉移到了執行環境。任何獲得環境訪問許可權的人都可以竊取密碼,這反過來又增加了您的資料洩露風險。

圖 1 – 顯示了包含嵌入式使用者名稱和密碼連線資料庫的 Java 程式碼

我們的客戶可能有嚴格的安全要求,需要在不向開發者、運維人員或任何其他人暴露密碼的情況下連線 Azure 服務。他們通常使用金鑰保管庫來儲存密碼並將其載入到應用程式中,並透過新增密碼輪換要求和流程來進一步降低風險。這反過來會增加運維複雜性,並可能導致應用程式連線中斷。

無密碼連線 – 零信任

現在您可以在應用程式中使用無密碼連線,透過無程式碼配置連線到基於 Azure 的服務。您不再需要定期輪換密碼。零信任遵循“永不信任,始終驗證且無需憑證”的原則,透過在授予機器或使用者訪問後端服務的許可權之前驗證其身份,幫助確保所有通訊的安全。

“我們擁有的每一個密碼和每一個金鑰保管庫都是潛在的風險,增加了更多的開銷和管理成本。我總是很高興看到有更多的身份驗證和授權工作為我們處理好,並作為簡單的整合方案交付到 Azure 上的 Java 和 Spring 生態系統中。當我現在 PostgreSQL 支援無密碼連線而刪除我們的金鑰保管庫時,我不會流一滴眼淚。”
-Jonathan Jones,首席解決方案架構師,瑞士再保險管理有限公司 (瑞士)

使用託管標識和 Azure RBAC(基於角色的訪問控制)組合是實現 Java 應用程式到 Azure 服務安全無密碼連線的推薦認證選項。開發者或運維人員無需手動跟蹤和管理託管標識的眾多不同金鑰,因為這些任務由 Azure 內部安全處理。

您可以使用 Service Connector(見圖 2)配置與 Azure 服務的無密碼連線,也可以手動配置。Service Connector 在 Azure Spring Apps、App Service 和 Azure Container Apps 等應用託管服務中啟用託管標識。它使用託管標識和 Azure RBAC 為後端服務配置無密碼連線,並嚮應用程式提供必要的連線資訊——不再需要密碼。

圖 2 – Service Connector 為 Java 應用配置與 PostgreSQL 資料庫的無密碼連線

如果您檢查配置了無密碼連線的應用程式的執行環境,您可以看到完整的連線字串。例如,圖 3 顯示了它如何包含資料庫伺服器地址、資料庫名稱以及將身份驗證委託給 Microsoft Azure JDBC 身份驗證外掛的指令。

圖 3 – 資料來源配置“spring.datasource.url”顯示無密碼連線

讓我們考慮一個使用 Spring Cloud Azure starter 連線 PostgreSQL 資料庫的 Spring Boot 應用。starter 為 Spring Data JPA 模組構建了一個不含密碼的連線字串。透過連線字串,驅動程式明白它必須載入使用 Azure Identity Client Library 獲取訪問令牌的 Azure JDBC 身份驗證外掛。驅動程式使用該令牌作為密碼登入資料庫 - 不再需要密碼。

對於本地開發和測試,開發者可以使用相同的配置,無需使用密碼連線到服務。您將透過 Azure CLI、IntelliJ 或任何開發工具進行身份驗證,並使用該身份為應用程式安全地連線 Azure 服務提供訪問許可權,無需密碼。

瞭解更多並告別密碼!

您可以在您的應用中擺脫使用密碼。立即將您現有的 Java 應用程式遷移到使用無密碼連線 Azure 服務吧!

瞭解更多關於無密碼連線的資訊 – https://aka.ms/Delete-Passwords

資源

<tbody>

<tr>
    <td>Azure Service</td>
    <td>Java Quickstart</td>
    <td>Spring Quickstart</td>
    <td>Migration Guide</td>
</tr>


<tr>
    <td> Azure Database for MySQL</td>
    <td>
    <a href="https://learn.microsoft.com/en-us/azure/mysql/single-server/connect-java?toc=%2Fazure%2Fdeveloper%2Fintro%2Ftoc.json&amp;bc=%2Fazure%2Fdeveloper%2Fintro%2Fbreadcrumb%2Ftoc.json&amp;tabs=passwordless">JDBC</a>
    </td>
    <td>
        <div><a href="https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-data-jdbc-with-azure-mysql?tabs…

Spring 本週回顧 - 2022 年 9 月 27 日

工程 | Josh Long | 2022 年 9 月 27 日 | ...

大家好,Spring 粉絲們!歡迎來到新一期的《Spring 本週回顧》

已經是九月的最後一週了!今年大部分時間已經過去。白天越來越短,黑夜來得更早。南瓜香料拿鐵也來了。天色變暗、天氣變冷有點令人沮喪,但每到這個時候我仍然感到興奮和無比喜悅。你知道為什麼嗎?

SpringOne 2022 就要到了!我感覺這就像某種重要的節日來臨前的焦慮又興奮的時刻,你會收到禮物!隨之而來的還有Spring Boot 3 和 Spring Framework 6。當然,我們將在這裡,在 Spring 部落格上宣佈所有內容,但如果你想有機會向原始碼學習,那麼我希望你能加入我們,於 2022 年 12 月 6 日至 8 日,就在我的家鄉舊金山,我最喜歡的美國西海岸城市。 (悄悄告訴你:如果你現在註冊,使用此程式碼 S1VM22_Advocate_200,通行證價格可享 200 美元折扣…

訂閱 Spring 資訊

訂閱 Spring 資訊,保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲取支援

Tanzu Spring 透過一份簡單的訂閱即可提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

近期活動

檢視 Spring 社群所有近期活動。

檢視全部