日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

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

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

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

1 使用 Devops 就萬(wàn)事大吉?未必如此

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

對(duì)于企業(yè)來(lái)說(shuō),只要用到 Devops 就萬(wàn)事大吉嗎?其實(shí)未必如此,從文化、自動(dòng)化、精益思維、指標(biāo)與共享這五個(gè) Devops 要素方面,Andrew 進(jìn)行了一一闡述。他的 PPT 示意圖也非常有意思,把這五個(gè)要素比喻為了中國(guó)的五行金木水火土。

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

文化會(huì)告訴我們?nèi)绾胃纳啤⑷绾蝺?yōu)化、如何進(jìn)行工作。Andrew 以一張優(yōu)秀文化和不那么成功文化的對(duì)比列表,來(lái)闡述為什么文化會(huì)決定著 Devops 成功與否。

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

自動(dòng)化方面,它與架構(gòu)密切相關(guān)。有時(shí)候大家會(huì)說(shuō)軟件的一切都要自動(dòng)化,比如容器、調(diào)度、K8S …的流行就是最好的佐證。演講中 Andrew 也用一張對(duì)比圖來(lái)進(jìn)行闡釋。

指標(biāo)方面,據(jù) Andrew 介紹,在 Spring 社區(qū),已經(jīng)在做對(duì)服務(wù)水平進(jìn)行評(píng)估和監(jiān)測(cè)的很多工作。

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

精益思維方面,它可以包括軟件的方方面面,以上幾個(gè)要素都可以歸在精益層面當(dāng)中。為什么要強(qiáng)調(diào)精益?因?yàn)橐獜?qiáng)調(diào)持續(xù)改善,不斷做得比今天更好。

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

2 深度解析 Spring Cloud Netflix-Ribbon

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

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

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

3 分布式跟蹤和 Zipkin 概念及實(shí)踐

第三位演講嘉賓是 Spring Cloud OSS 分布式跟蹤技術(shù)員 Adrian Cole,演講內(nèi)容側(cè)重在分布式跟蹤和 Zipkin,Adrian 在 Pivotal 的 Spring Cloud OSS 團(tuán)隊(duì)工作。

當(dāng)我們部署微服務(wù)的時(shí)候,微服務(wù)會(huì)積累越來(lái)越多,如果有一個(gè)圖表來(lái)顯示整體情況,就變得非常重要。對(duì)此 Adrian Cole 演示了一個(gè)微服務(wù)的圖表。看到這個(gè)圖大家會(huì)覺(jué)得很復(fù)雜,但是實(shí)際情況就是如此,這個(gè)實(shí)例是從一個(gè) BBS 抓取的。

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

對(duì)此 Adrian Cole 表示,如果你有 15 個(gè)以上的服務(wù)要同時(shí)展現(xiàn)相互關(guān)系,就會(huì)非常復(fù)雜。所以我們需要有服務(wù)圖,更需要有具體的儀表板工具。

所謂跟蹤,就是追蹤系統(tǒng)里的請(qǐng)求走到了哪里,追蹤會(huì)幫助開發(fā)者做出結(jié)論,了解服務(wù)前后的因果關(guān)系。當(dāng)我們進(jìn)行異步編程的時(shí)候,必須要了解真正的因果關(guān)系,而不是時(shí)間的順延關(guān)系。通過(guò)分布式跟蹤,所體現(xiàn)出的因果關(guān)系就會(huì)非常可靠,這才能讓我們知道延遲的根本原因是什么。

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

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

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

4 Spring Cloud Data Flow 概念及演示

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

在演講開始,Ilayaperumal 首先介紹了云原生、微服務(wù)、Spring Cloud Data Flow 等概念的內(nèi)涵以及應(yīng)用場(chǎng)景。

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

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

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

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

5 揭秘 Eureka 工作和應(yīng)用原理

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

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

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

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

在 Eureka Server 緩存機(jī)制上,Eureka Server 內(nèi)置兩層緩存,readOnlyCacheMap 本質(zhì) MAP,無(wú)過(guò)期時(shí)間;readWriteCacheMap 本質(zhì) Guava 緩存,存在過(guò)期時(shí)間;通過(guò)參數(shù)可以決定是否啟用 MAP 緩存。

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

在 Eureka Server 節(jié)點(diǎn)復(fù)制機(jī)制上,Eureka Server 啟動(dòng)時(shí)從相鄰節(jié)點(diǎn)同步已有注冊(cè)信息;Eureka Server 接收 register、 renew、 cancel 事件時(shí)會(huì)將次信息同步給相鄰節(jié)點(diǎn)。

6 一個(gè)彩蛋

關(guān)注 Pivotal 公眾號(hào)(pivotal_china),可獲得此次實(shí)戰(zhàn)營(yíng)講師全部演講 PPT,讓你猶如親臨現(xiàn)場(chǎng)。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部
营山县| 贵阳市| 陆良县| 凌云县| 马公市| 自治县| 上高县| 孟州市| 和硕县| 诏安县| 海盐县| 聂荣县| 丰原市| 淮安市| 白沙| 鱼台县| 岢岚县| 桓台县| 平顺县| 贺州市| 洪雅县| 鹰潭市| 柘荣县| 宜章县| 龙里县| 五家渠市| 东丰县| 兴和县| 江门市| 盘锦市| 嵊州市| 浑源县| 礼泉县| 千阳县| 仁布县| 汉源县| 凭祥市| 新余市| 洮南市| 左云县| 通河县|