山東平臺微服務架構設計

來源: 發(fā)布時間:2022-04-10

    但它們可能到處在重復單元測,另外集成測試存在彼此重復。更糟糕的是,當集成測試失敗時,你不知道哪里出了問題,不能及時準確定位問題。.Rainsberger后來還在博客上發(fā)表了《IntegrationTestsAreaScam》,文章借用強有力的數(shù)據(jù)分析來證實自己的觀點。他提出的佳實踐是:用契約測試或協(xié)議測試來做集成測試!MartinFowller在2012年的測試金字塔理論中也指出:應該引入面向應用程序服務層的中間層測試,這些測試既保持了端到端測試的諸多優(yōu)勢,又避免了許多與UI框架相關的復雜性。在Web應用程序中,中間層測試相當于API層測試,而位于金字塔頂層的UI測試則相當于Selenium測試。ThoughtWorks技術雷達于2016年已經(jīng)正式采納消費者驅動契約測試。We’vedecidedtobringconsumer-drivencontracttestingbackfromthearchiveforthiseditioneventhoughwehadallowedittofadeinthepast.微服務架構的盛行促使越來越多的開發(fā)團隊開始引入CDCT,逐漸淡化UI測試。團隊的測試策略正在發(fā)生不同的演變:引入了CDCT并擺出了正確的姿勢,便可弱化UI測試,甚至可以使用少量的人工測試來代替自動化UI測試。CDCT幫助我們緩解了UI測試的痛點,但也要當心走極端。通常跟微服務相對的是單體應用,即將所有功能都打包成在一個單元的應用程序。山東平臺微服務架構設計

    我們來看下其具體架構拓撲示意圖:其實,無論是基于那種技術架構,其本質都具備相應的優(yōu)缺點,,畢竟,存在即是合理的。基于不同的業(yè)務場景,通常我們需選用不同的應用架構、技術框架,然而,對于技術要素的選型,前沿性并不是的考量因素,也就是說不一定使用新的架構、技術解決我們的業(yè)務痛點,需要結合公司的實際情況進行綜合決策?;谏鲜龅膮⒖技軜嬐負洌覀兛梢曰诜謱拥乃季S模型對微服務的架構進行技術選型,具體可從以下幾方面進行:API網(wǎng)關隨著微服務架構概念的提出,API網(wǎng)關成為了微服務架構的一個標配組件,無時無刻在我們的應用系統(tǒng)架構中起著舉足輕重的作用。通常,網(wǎng)關在我們的架構中主要包含以下功能,具體如下圖所示:目前市面上或者業(yè)務場景落地解決方案中,常見的開源網(wǎng)關大致上按照語言分類有如下幾類,具體如下圖所示:若我們依據(jù)使用范圍、成熟度以及落地場景等維度來劃分,目前主流網(wǎng)關技術應用涉及以下4種:OpenResty、Kong、Zuul/Zuul2、SpringCloudGateway,此外,隨著Go語言在微服務領域的快速崛起以及應用,F(xiàn)agongziAPI網(wǎng)關近也獲得不少關注。因此,若我們的開發(fā)平臺基于Java語言的,可選擇性較多,同時。山東平臺微服務架構設計微服務的基本思想在于考慮圍繞著業(yè)務領域組件來創(chuàng)建應用,這些應用可地進行開發(fā)、管理和加速。

    單個微服務擁有自己的進程,進程本身就可以動態(tài)的啟停,為無縫升級的打好了基礎,但誰來啟動和停止進程,什么時機,選擇在哪臺設備上做這件事情才是無縫升級的關鍵。這個能力并不是微服務本身提供的,而是需要背后強大的版本管理和部署能力。多個相同的微服務可以做負載均衡,提高性能和可靠性。正是因為相同微服務可以有多個不同實例,讓服務按需動態(tài)伸縮成為可能,在高峰期可以啟動更多的相同的微服務實例為更多用戶服務,以此提高響應速度。同時這種機制也提供了高可靠性,在某個微服務故障后,其他相同的微服務可以接替其工作,對外表現(xiàn)為某個設備故障后業(yè)務不中斷。同樣的道理,微服務本身是不會去關心系統(tǒng)負載的,那么什么時候應該啟動更多的微服務,多個微服務的流量應該如何調度和分發(fā),這背后也有一套復雜的負載監(jiān)控和均衡的系統(tǒng)在起作用。微服務可以部署和對外提供服務,微服務的業(yè)務上線和下線是動態(tài)的,當一個新的微服務上線時,用戶是如何訪問到這種新的服務?這就需要有一個統(tǒng)一的入口,新的服務可以動態(tài)的注冊到這個入口上,用戶每次訪問時可以從這個入口拿到系統(tǒng)所有服務的訪問地址。這個統(tǒng)一的系統(tǒng)入口并不是微服務本身的一部分。

    微服務也指一種種松耦合的、有一定的有界上下文的面向服務架構。也就是說,如果每個服務都要同時修改,那么它們就不是微服務,因為它們緊耦合在一起;如果你需要掌握一個服務太多的上下文場景使用條件,那么它就是一個有上下文邊界的服務,這個定義來自DDD領域驅動設計。相對于單體架構和SOA,它的主要特點是組件化、松耦合、自治、去中心化,體現(xiàn)在以下幾個方面:一組小的服務服務粒度要小,而每個服務是針對一個單一職責的業(yè)務能力的封裝,專注做好一件事情。部署運行和擴展每個服務能夠被部署并運行在一個進程內。這種運行和部署方式能夠賦予系統(tǒng)靈活的代碼組織方式和發(fā)布節(jié)奏,使得快速交付和應對變化成為可能。開發(fā)和演化技術選型靈活,不受遺留系統(tǒng)技術約束。合適的業(yè)務問題選擇合適的技術可以演化。服務與服務之間采取與語言無關的API進行集成。相對單體架構,微服務架構是更面向業(yè)務創(chuàng)新的一種架構模式。團隊和自治團隊對服務的整個生命周期負責,工作在的上下文中,自己決策自己治理,而不需要統(tǒng)一的指揮中心。團隊和團隊之間通過松散的社區(qū)部落進行銜接。我們可以看到整個微服務的思想就如我們現(xiàn)在面對信息、知識是一樣的:通過解耦我們所做的事情。而在微服務背景下,每個服務單獨構建,就有了選擇不同技術棧的機會,允許用更合適的工具去做不同的事情。

    從這些契約可以生成存根,此后消費者團隊可以在構建過程中重復使用它們。消費者和生產者都需要驗證契約。CDCT強調契約由消費者來驅動,并由雙方共同遵守,是共同遵守。那么如何保證共同遵守呢?敏捷宣言中提到可工作的軟件優(yōu)于面面俱到的文檔。引入Contract概念的測試會定義一個Contract文檔(JSON協(xié)議文件)。對于消費方,該文檔被用作測試斷言依據(jù),文檔被轉換成一個可工作的軟件(可執(zhí)行的測試套件:修改文檔會導致測試失?。?。而對于服務提供方,因為測試的斷言與Contract文檔沒有強制關聯(lián),它多只能是一個面面俱到的文檔。所以,只有當雙方都將文檔轉換成可工作的軟件時,文檔的修改便會導致任意一方測試失敗,文檔才真正成為雙方共同遵守的契約(可工作的軟件總是可靠的,文檔卻有可能已經(jīng)過期)。消費者驅動契約測試中存在一個契約,雙方基于契約生成可工作的測試套件:CDCT具備了引入Contract概念集成測試的諸多優(yōu)點,并且通過可工作的測試套件保證了契約的一致性和實時性。9.技術實踐運籌帷幄之中,決勝千里之外。三國明星諸葛亮負責運籌帷幄,關、張、趙等武將負責沖鋒陷陣,從而決勝千里之外的硝煙戰(zhàn)場。團隊確定了測試策略之后,應當交由工具來實施執(zhí)行。微服務應用樂于采用簡單輕量級協(xié)議,比如REST,而不是WS-,在微服務內部避免使用ESB以及ESB類似功能。衡水分布式微服務架構模式

微服務架構是一項在云中部署應用和服務的新技術。山東平臺微服務架構設計

    注重高效的可擴展的數(shù)據(jù)中心:其它您可能感興趣的文章:云計算參考架構幾例微服務與Docker介紹互聯(lián)網(wǎng)直播平臺架構案例一高可用架構案例一某互聯(lián)網(wǎng)公司廣告平臺技術架構某大型電商云平臺實踐云計算參考架構幾例移動應用App測試與質量管理一的軟件測試ERP廠商的SSO單點登錄解決方案介紹一軟件項目風險管理介紹企業(yè)項目化管理介紹智能企業(yè)與信息化之一由企業(yè)家基本素質想到的敏捷軟件質量保證的方法與實踐構建高效的研發(fā)與自動化運維IT運維監(jiān)控解決方案介紹IT持續(xù)集成之質量管理人才公司環(huán)境與企業(yè)文化企業(yè)績效管理系統(tǒng)之平衡記分卡企業(yè)文化、團隊文化與知識共享高效能的團隊建設餐飲連鎖公司IT信息化解決方案一如有想了解更多軟件研發(fā),系統(tǒng)IT集成,企業(yè)信息化,項目管理,企業(yè)管理等資訊,請關注我的微信訂閱號:作者:PetterLiu出處:/wintersun/本文版權歸作者和博客園共有,歡迎轉載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。該文章也同時發(fā)布在我的博客中-PetterLiuBlog。山東平臺微服務架構設計

首匯信息技術河北有限公司坐落在新石北路368號金石創(chuàng)新大廈105室,是一家專業(yè)的計算機硬件技術研發(fā)、技術咨詢、技術服務;計算機系統(tǒng)集成服務;貨物或技術進出口(國家限制和禁止的除外);互聯(lián)網(wǎng)信息服務(憑許可證經(jīng)營);設計、制作、代理國內廣告業(yè)務;發(fā)布國內戶外廣告業(yè)務;汽車配件、機械設備、五金產品、電子產品、化工產品(危險化學品及易制毒化學品除外、無存儲)、橡膠制品(醫(yī)用橡膠制品除外)、通信設備(衛(wèi)星電視廣播地面接收設施除外)、儀器儀表、安全技術防范設備、辦公設備的批發(fā)、零售。(依法需經(jīng)批準的項目,經(jīng)相關部門批準后方可開展經(jīng)營活動)公司。公司目前擁有專業(yè)的技術員工,為員工提供廣闊的發(fā)展平臺與成長空間,為客戶提供高質的產品服務,深受員工與客戶好評。誠實、守信是對企業(yè)的經(jīng)營要求,也是我們做人的基本準則。公司致力于打造***的信息化中臺系統(tǒng)規(guī)劃,中臺ERP服務平臺。公司深耕信息化中臺系統(tǒng)規(guī)劃,中臺ERP服務平臺,正積蓄著更大的能量,向更廣闊的空間、更寬泛的領域拓展。