天天操天天射综合,午夜精品999,国产黄a一级,亚洲成aⅴ人在线观看,外国免费毛片,蜜桃精品视频在线,亚洲第一中文字幕在线

微服務架構(gòu)與云應用程序效率二三事

2017-12-28 20:09:28 51CTO  點擊量: 評論 (0)
相比傳統(tǒng)的整體式應用程序(monolithic application),微服務具有諸多優(yōu)勢。倘若結(jié)合云計算,那些優(yōu)勢就會放大。 云計算讓應用程序管理員可以訪問或獲取可靈活擴展的計算和存儲資源,從而改變了我們交付服
    相比傳統(tǒng)的整體式應用程序(monolithic application),微服務具有諸多優(yōu)勢。倘若結(jié)合云計算,那些優(yōu)勢就會放大。

    云計算讓應用程序管理員可以訪問或獲取可靈活擴展的計算和存儲資源,從而改變了我們交付服務的方式。但是云計算也在顯著影響IT的另一個方面:應用程序開發(fā)。企業(yè)組織應該重新考慮應用程序的設計原則,并調(diào)整設計模式,以便充分利用云計算具有的可擴展性;而做到這一點的一條途徑就是通過微服務架構(gòu)。

    微服務帶來了一種全新的應用程序設計策略,它使用諸多服務來實施應用程序,而不是構(gòu)建整體式應用程序。比如說,按傳統(tǒng)方法,企業(yè)組織會使用運行用戶接口代碼的網(wǎng)站服務器、運行所有業(yè)務邏輯和服務的整體式應用程序,以及滿足所有持久存儲需求的單一數(shù)據(jù)庫,構(gòu)建電子商務網(wǎng)站??赡芤渴鹁W(wǎng)站服務器和應用服務器各一臺,它們配備負載均衡系統(tǒng)和自動擴展功能,以便根據(jù)負載的變化增加和減少資源。

    雖然這是一種很常見的設計模式,卻存在其劣勢。比如說,整體式應用程序哪怕出現(xiàn)細小的變化也需要開發(fā)人員重新構(gòu)建和重新部署整個應用程序。這可能很耗費時間,如果開發(fā)人員沒有全面深入地測試應用程序,還會導致問題。如果應用程序必須保持一組復雜的狀態(tài)信息,測試所有可能的狀態(tài)組織即使并非不切實際,至少也困難重重,問題也會出現(xiàn)。

    傳統(tǒng)應用程序設計存在的另一個缺點是,它依賴單一的持久數(shù)據(jù)存儲區(qū),通常是關(guān)系數(shù)據(jù)庫,比如MySQL或PostgreSQL。這些是很流行的選擇,因為它們在許多情況下效果很好,但是它們并非總是最佳選擇。比如說,需要靈活模式和可擴展性時,就要使用NoSQL數(shù)據(jù)庫。此外,關(guān)系數(shù)據(jù)庫這種選擇最適合需要支持事務的數(shù)據(jù)存儲系統(tǒng),比如網(wǎng)站的結(jié)賬服務。

    微服務架構(gòu)可以將應用程序組件分解為比整體式應用程序所使用的單位粒度更細小的單位。開發(fā)人員可以為應用程序里面的每一個邏輯功能構(gòu)建一個服務,而不是實施擁有所有業(yè)務邏輯的單個應用程序。所以,在上述電子商務這個例子中,可能有不同的微服務從商品目錄獲取產(chǎn)品數(shù)據(jù),另一個微服務檢查產(chǎn)品庫存,還有一個微服務向第三方服務提交裝貨單。這每一個服務都會運行自己的流程,應用程序可以根據(jù)需要調(diào)用這些服務,并在它們之間傳送信息。

采用面向云的微服務架構(gòu)

    微服務為云部署提供了幾個優(yōu)點。

  • 企業(yè)組織想要盡可能高效地運行云服務器。在微服務架構(gòu)中,它們可以在小型服務器上運行應用程序,或者將多個微服務合并到一臺較大服務器上,以一種更經(jīng)濟高效的方式來使用計算資源。
  • 另外,由于微服務是細粒度化,企業(yè)組織只要在需求量很大的情況下增加運行微服務的服務器數(shù)量。比如說,如果在網(wǎng)站上運行搜索的需求大幅上升,自動擴展服務檢測到這一點后,就能為搜索集群部署額外的服務器。雖說整體式設計也可以在自動擴展環(huán)境下運行,但是不像微服務那么高效。微服務需要的最小實例比支持整體式應用程序的最小實例可能要小得多。
  • 在云計算環(huán)境下使用微服務時,總是要規(guī)劃好安全。不然,非法來源(即未授權(quán)用戶)可能部署這些服務。除了用戶授權(quán)外,微服務還應該需要某種形式的驗證令牌,驗證令牌允許服務驗證調(diào)用方的身份。另外,要對你的服務運行模糊測試及其他類型的滲透測試,幫助識別安全漏洞。
  • 微服務架構(gòu)與持續(xù)部署方法很搭。自動化工具有助于簡化構(gòu)建代碼、將微服務部署到生產(chǎn)環(huán)境的過程。同樣,整體式系統(tǒng)也能做到這一點,但是整個過程卻不如微服務來得高效。比如說,如果你非得回滾(roolback)之前已經(jīng)部署的代碼,回滾微服務給生產(chǎn)環(huán)境帶來的干擾要比回滾大規(guī)模應用程序來得小。

    總的來說,微服務可以補充云計算,并且便于更高效地使用資源,如果不同的服務有不同的性能概況更是如此。

大云網(wǎng)官方微信售電那點事兒

責任編輯:售電衡衡

免責聲明:本文僅代表作者個人觀點,與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關(guān)內(nèi)容。
我要收藏
個贊
?