RM新时代官方网站

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

7 月 21 日,Pivotal 在北京舉辦“應用無憂 Spring 實戰(zhàn)營”,包括 Pivotal 高級技術總監(jiān) Andrew Clay Shafer、京東金融資深研發(fā)張凡、Pivotal 高級解決方案架構師李剛在內的多位 Spring 技術專家,從 Spring 技術、工具如何幫助開發(fā)者解決業(yè)務轉型和創(chuàng)新中的實際問題出發(fā),發(fā)表多場精彩演講。

1 使用 Devops 就萬事大吉?未必如此

Pivotal 高級技術總監(jiān) Andrew Clay Shafer 多年來一直是開源領域的使用者和貢獻者,在構建開源業(yè)務和社區(qū)方面頗有見地,因發(fā)表關于 DevOps 和組織學習的論述而出名。作為開場第一位演講嘉賓,他的演講主題是《論 Devops 創(chuàng)新的五大關鍵要素》。

對于企業(yè)來說,只要用到 Devops 就萬事大吉嗎?其實未必如此,從文化、自動化、精益思維、指標與共享這五個 Devops 要素方面,Andrew 進行了一一闡述。他的 PPT 示意圖也非常有意思,把這五個要素比喻為了中國的五行金木水火土。

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

文化會告訴我們如何改善、如何優(yōu)化、如何進行工作。Andrew 以一張優(yōu)秀文化和不那么成功文化的對比列表,來闡述為什么文化會決定著 Devops 成功與否。

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

自動化方面,它與架構密切相關。有時候大家會說軟件的一切都要自動化,比如容器、調度、K8S …的流行就是最好的佐證。演講中 Andrew 也用一張對比圖來進行闡釋。

指標方面,據 Andrew 介紹,在 Spring 社區(qū),已經在做對服務水平進行評估和監(jiān)測的很多工作。

共享方面,有人提出在開發(fā)人員和運營人員之間再單獨配備 Devops 人員,Andrew 認為這并非明智之舉,還是需要建立共享機制,讓大家打破圍墻進行對話。在這方面,Andrew 也特別強調了社區(qū)力量的重要性。

精益思維方面,它可以包括軟件的方方面面,以上幾個要素都可以歸在精益層面當中。為什么要強調精益?因為要強調持續(xù)改善,不斷做得比今天更好。

身為軟件開發(fā)者,Andrew 在演講中還傳授了非常多個體的成功秘訣,比如創(chuàng)新、比如改變你的行為、比如擁抱風險…

2 深度解析 Spring Cloud Netflix-Ribbon

第二位演講嘉賓是京東金融資深研發(fā)張凡,主要是對 Spring Cloud Netflix-Ribbon 進行了深度解析。主要通過一部分代碼講述 Ribbon 如何作用在客戶端來攔截請求,完成負載均衡;默認配置如何生效;怎樣獲得服務列表;有哪些負載均衡算法,并從代碼中找一些負載算法的例子來看 Ribbon 是怎么實現等等。具體來看,他的演講包括這幾個方面:Ribbon 簡介、Ribbon 如何實現客戶端負載、Ribbon 負載均衡行為定義、Ribbon 的負載均衡策略、Ribbon 服務列表的獲取、Ribbon 的重試。

張凡的分享完全從自身工作實踐出發(fā),干貨滿滿。這里截取幾頁演示 PPT,從中可以看到 Spring Cloud Netflix-Ribbon 的使用情況。

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

3 分布式跟蹤和 Zipkin 概念及實踐

第三位演講嘉賓是 Spring Cloud OSS 分布式跟蹤技術員 Adrian Cole,演講內容側重在分布式跟蹤和 Zipkin,Adrian 在 Pivotal 的 Spring Cloud OSS 團隊工作。

當我們部署微服務的時候,微服務會積累越來越多,如果有一個圖表來顯示整體情況,就變得非常重要。對此 Adrian Cole 演示了一個微服務的圖表??吹竭@個圖大家會覺得很復雜,但是實際情況就是如此,這個實例是從一個 BBS 抓取的。

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

對此 Adrian Cole 表示,如果你有 15 個以上的服務要同時展現相互關系,就會非常復雜。所以我們需要有服務圖,更需要有具體的儀表板工具。

所謂跟蹤,就是追蹤系統(tǒng)里的請求走到了哪里,追蹤會幫助開發(fā)者做出結論,了解服務前后的因果關系。當我們進行異步編程的時候,必須要了解真正的因果關系,而不是時間的順延關系。通過分布式跟蹤,所體現出的因果關系就會非??煽浚@才能讓我們知道延遲的根本原因是什么。

所謂 Zipkin 分布式跟蹤系統(tǒng),它可以幫助收集時間數據,解決在微服務架構下的延遲問題;它管理這些數據的收集和查找;Zipkin 的設計基于谷歌的 Google Dapper 論文。

隨著微服務架構和容器技術的興起,看似簡單的一個應用,后臺可能有幾十個甚至幾百個服務在支撐;另外當請求變慢或者不可用時,我們也無法得知是哪個后臺服務引起的,這時就需要解決如何快速定位服務故障點,Zipkin 分布式跟蹤系統(tǒng)就能很好的解決這樣的問題。

Zipkin Java 追蹤器中最受歡迎的是 Brava;另外還有 Sleuth,可以做偵查,在搜索和自動追蹤的時候可以使用。此外還有一些開源的追蹤庫,包括 OpenCensus、OpenTracing、OpenTracing、Kamon,這些庫可以相互作用,在網絡上共享數據。

4 Spring Cloud Data Flow 概念及演示

第四位演講嘉賓是 Spring Cloud Skipper/Stream/Data Flow committer Ilayaperumal,他主要介紹如何使用 Spring Cloud Data Flow 執(zhí)行數據集成和實時數據處理流水線,并將它們部署到 Cloud Foundry 和 Kubernetes 等多個平臺。

在演講開始,Ilayaperumal 首先介紹了云原生、微服務、Spring Cloud Data Flow 等概念的內涵以及應用場景。

很長時間以來,Spring Boot 一直被我們所關注,Spring Boot 有什么優(yōu)勢呢?Spring Boot 使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。如果你做微服務應用開發(fā),Spring Boot 會是最佳的選擇,它可以快速、方便、簡單的進行開發(fā)。它提供自動配置功能,如果你做一個數據庫的開發(fā),如果把數據庫開發(fā)的參數輸入 Spring Boot,它可以協(xié)助你進行開發(fā)。

在消息驅動的微服務方面, Spring Cloud Data Flow 就是一個最好的例子,它以流為導向,對微服務進行更好的分布。Spring Cloud Data Flow 是一個編排工具,提供流應用,可以持續(xù)性的進行交付。在隨后的演示中,Ilayaperumal 使用 Spring Cloud Data Flow 的 DSL 和 Designer User Interface 展示了在不用編寫任何代碼的情況下,針對常見用例如何組裝數據流水線。

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

此外,Ilayaperumal 還介紹了如何使用 Spring Cloud Skipper 持續(xù)交付這些處理流水線。Spring Cloud Skipper 是一個 CI/CD 平臺,可用于發(fā)現、安裝、升級和回滾多個云平臺上的應用程序。

5 揭秘 Eureka 工作和應用原理

在最后一個演講中,Pivotal 高級解決方案架構師李剛介紹了 Spring Cloud Netflix-Eureka 原理以及工作原理。Eureka 作為 Spring Cloud 微服務架構中的注冊中心,扮演著重要的角色。演講從源碼角度出發(fā),詳細介紹了 Eureka 的實現機制。

Eureka 是一個古希臘詞語,含義為我找到了,我發(fā)現了。相傳阿基米德發(fā)現浮力原理的時候,說出了這個詞。在李剛展示的一張 Eureka 架構圖中,可以看到 Eureka Server 不同節(jié)點之間的工作原理。

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

從注冊機制來看,包括保存注冊信息、更新閾值、將新增示例保存到 Queue、清空緩存、復制給其他 Eureka Server 節(jié)點等幾個流程;從 Renew 機制來看,包括找到續(xù)約實例、更新續(xù)約時間、復制給其他 Eureka Server 節(jié)點幾個流程;此外,李剛還介紹了包括 Cancel、Evict 機制。

在 Eureka Server 緩存機制上,Eureka Server 內置兩層緩存,readOnlyCacheMap 本質 MAP,無過期時間;readWriteCacheMap 本質 Guava 緩存,存在過期時間;通過參數可以決定是否啟用 MAP 緩存。

Spring實操指南:必須掌握的技術、工具和應用原理(spring實戰(zhàn)怎么樣)

在 Eureka Server 節(jié)點復制機制上,Eureka Server 啟動時從相鄰節(jié)點同步已有注冊信息;Eureka Server 接收 register、 renew、 cancel 事件時會將次信息同步給相鄰節(jié)點。

6 一個彩蛋

關注 Pivotal 公眾號(pivotal_china),可獲得此次實戰(zhàn)營講師全部演講 PPT,讓你猶如親臨現場。

版權聲明:本文內容由互聯網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2023年5月14日 上午11:08
下一篇 2023年5月15日 上午9:00

相關推薦

  • 設計項目管理系統(tǒng)包括(設計項目管理系統(tǒng))

    設計項目管理系統(tǒng)設計項目管理系統(tǒng)有3個核心技術,其中,游戲策劃就是最重要的。為什么要把這個“工作”的基礎知識和構建好呢?其實,因為他設計的是“游戲”,它是一個與創(chuàng)造者、游戲策劃之間…

    科研百科 2024年7月30日
    4
  • 檔案管理系統(tǒng)項目概述

    檔案管理系統(tǒng)項目概述 隨著現代數字化時代的到來,檔案管理系統(tǒng)已經成為現代檔案管理的重要組成部分。檔案管理系統(tǒng)不僅可以幫助用戶管理各種文檔、文件和資料,還可以為用戶提供便捷的搜索和共…

    科研百科 2024年12月31日
    1
  • 建筑學線上科研項目有哪些內容(建筑學線上科研項目有哪些)

    建筑學線上科研項目有哪些 隨著互聯網技術的不斷發(fā)展,線上學習已成為當下教育領域中的一種主流形式。建筑學作為一門需要實踐和理論結合的學科,線上科研項目成為了建筑學學生的重要學習資源。…

    科研百科 2024年4月10日
    75
  • 蘭州大學科研項目查詢

    蘭州大學科研項目查詢 蘭州大學是中國西北地區(qū)綜合性大學之一,擁有豐富的科研資源和先進的科研設施。蘭大科研團隊一直致力于推動科學技術的發(fā)展,為社會做出了重要貢獻?,F在,我們提供科研項…

    科研百科 2025年5月2日
    1
  • 科研項目管理機制,科研項目評審管理辦法(科研項目評審制度)

    表格和條形圖都說明了院系和學生對期末考試成功幾率的看法之間存在關系。將數據繪制在散點圖上也能表明兩個變量間的關系。作為研究的一部分,你可能假設一年級的課程得分就等于一年級的考試成績…

    科研百科 2022年10月15日
    369
  • 項目管理管理的工具

    項目管理管理的工具 隨著現代項目的日益增多,項目管理管理已經成為一項至關重要的任務。項目管理人員需要使用各種工具來幫助他們組織、計劃和控制項目進展。本文將介紹一些常用的項目管理管理…

    科研百科 2025年1月14日
    1
  • java管理系統(tǒng)項目責任描述

    Java管理系統(tǒng)項目責任描述 隨著信息技術的不斷發(fā)展,Java管理系統(tǒng)項目已經成為了企業(yè)信息化領域中的重要組成部分。Java管理系統(tǒng)項目不僅僅是一個軟件產品,更是一個集成了多種技術…

    科研百科 2025年6月6日
    0
  • 境外黨員五不公開

    境外黨員五不公開 作為一名境外黨員,公開身份和活動是遵守黨的紀律和規(guī)矩的重要方面。然而,由于文化背景、語言環(huán)境、政治信仰等方面的差異,境外黨員在公開身份和活動時需要注意以下五個方面…

    科研百科 2024年10月18日
    102
  • 科研項目績效考核辦法

    科研項目績效考核辦法 科研項目的績效考核是評估科研項目質量、效率和成果的重要方式。為了促進科研項目的健康發(fā)展,制定一套科學的績效考核辦法至關重要。本文將介紹科研項目績效考核辦法的具…

    科研百科 2024年10月12日
    38
  • 黨建引領集團化辦學步驟

    黨建引領集團化辦學步驟黨建引領集團化辦學步驟 大廠總經理潘思順博士是中南大學湘雅二院公共信息與控制學院副教授,中國傳媒大學語文教學委員會副主任。2003年12月1日,北京大學第六醫(yī)…

    科研百科 2024年11月20日
    2
RM新时代官方网站