intext:企业_企业中的微服务:敌是友?
intext:企業(yè)
宏觀問題的微觀解決方法?
微服務的炒作無處不在,盡管業(yè)界似乎無法就確切的定義達成共識,但我們一再被告知,從單一應用程序轉(zhuǎn)向由小型服務組成的面向服務的體系結(jié)構(gòu)(SOA)是正確的方法。構(gòu)建和發(fā)展軟件系統(tǒng)。 但是,目前沒有傳統(tǒng)的“企業(yè)”組織談論采用微服務。 這篇博客文章是對較大文章的預覽,該文章探討了企業(yè)中微服務的使用。
界面–良好的合同造就了好鄰居
無論您是開始新建的微服務項目,還是要負責將現(xiàn)有的整體結(jié)構(gòu)分解為服務,首要任務是定義新組件的邊界和相應的應用程序編程接口(API)。
與使用傳統(tǒng)的面向企業(yè)服務的體系結(jié)構(gòu)(SOA)方法通常實現(xiàn)的服務相比,微服務體系結(jié)構(gòu)中建議的服務粒度要更好,但是可以說SOA的初衷是創(chuàng)建可重用業(yè)務功能的內(nèi)聚單元,甚至如果實施歷史講述了一個不同的故事。
新建的微服務項目通常具有更大的靈活性,并且初始設計階段可以使用服務提供者和使用者之間的明確責任和合同(例如,使用使用者驅(qū)動的合同 )來定義域驅(qū)動設計(DDD )啟發(fā)的受限上下文。
但是,典型的棕地項目必須尋求在現(xiàn)有應用程序中創(chuàng)建“ 接縫 ”,并實現(xiàn)與接縫接口集成的新(或提取)服務。 目標是使每個服務具有高凝聚力和松散耦合; 服務接口的設計是這些原則的種子。
通信–同步與異步
實際上,我們發(fā)現(xiàn)許多企業(yè)將需要在其服務中同時提供同步和異步通信。 值得注意的是,盡管這些框架所解決的許多挑戰(zhàn)仍然存在,但行業(yè)內(nèi)仍有相當大的動力要擺脫公認的“重量級” WS- *通信標準(例如WSDL,SOAP,UDDI)。服務發(fā)現(xiàn),服務描述和合同協(xié)商(如Greg Young在muCon微服務會議上的最新演講中非常簡潔地闡述 )。
中間件–傳統(tǒng)企業(yè)如何應對?
盡管許多重量級的Enterprise Service Bus ESB可以執(zhí)行一些非常巧妙的路由,但它們經(jīng)常被部署為黑匣子。 吉姆·韋伯(Jim Webber)曾開玩笑說ESB應該代表“ Egregious Spaghetti Box”,因為在專有ESB中執(zhí)行的操作并不透明,而且通常很復雜。
如果要求指示使用ESB(例如,消息拆分或基于策略的路由),則應考慮使用開源輕量級ESB實現(xiàn)(例如Mule ESB或Fuse ESB) 。
我通常發(fā)現(xiàn)輕量級的MQ平臺(例如RabbitMQ或ActiveMQ )更適合,因為我們認為SOA通信的當前趨勢是朝著“ 啞管道和智能端點 ”邁進,除了消除潛在的供應商費用和鎖定之外,它的其他好處使用輕量級的MQ技術(shù)可以簡化部署,管理和簡化測試。
部署微服務–有多難?
無論您選擇構(gòu)建微服務,使用連續(xù)集成樣式的構(gòu)建管道都是至關(guān)重要的,該管道包括針對功能需求,容錯,安全性和性能的嚴格自動化測試。 可以說,手動質(zhì)量保證和分階段評估的經(jīng)典SOA方法不再適用于“ 速度取勝 ”且快速創(chuàng)新和試驗的能力是競爭優(yōu)勢的經(jīng)濟(如精益創(chuàng)業(yè)運動所體現(xiàn)的那樣)。
您的應用程序的行為可能會在基于微服務的平臺中浮現(xiàn)出來,盡管沒有什么可以替代對您的生產(chǎn)堆棧中進行全面而普遍的監(jiān)視,但是在您的組件暴露給客戶之前先進行鍛煉(或折磨 )的構(gòu)建管道似乎是高度有益。 正如我在幾次會議演示中所討論的那樣 ,一個好的構(gòu)建管道應盡可能早地在目標部署環(huán)境中行使服務。
摘要– API,輕量級的comms和正確的部署
無論您是否訂閱了微服務的炒作,這種架構(gòu)風格似乎在所有軟件開發(fā)領(lǐng)域中都越來越受歡迎。 本文試圖為理解這個不斷增長的空間中的關(guān)鍵概念提供入門知識,并希望提醒讀者,經(jīng)典企業(yè)SOA之前已經(jīng)見過許多這樣的問題和解決方案。 我們明智的做法是不要重新發(fā)明眾所周知的“面向服務”的方向盤。
請單擊此處,以獲取完整的原始文章 ,該文章提供了有關(guān)JVM平臺上微服務實現(xiàn)選項的更多信息,并討論了持續(xù)交付的要求。 本文的一個版本最初發(fā)布在DZone 2014 Enterprise Integration Guide中 。
參考資料
完整的參考文獻列表和推薦閱讀的內(nèi)容也可以在原始文章和最近討論微服務業(yè)務含義的文章中找到。
翻譯自: https://www.javacodegeeks.com/2015/01/microservices-in-the-enterprise-friend-or-foe.html
intext:企業(yè)
總結(jié)
以上是生活随笔為你收集整理的intext:企业_企业中的微服务:敌是友?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 登陆验证失败_使用Java 8
- 下一篇: realme 真我 GT5 手机“燃模式