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