日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

apache karaf_未来是Apache Karaf上的微服务架构

發(fā)布時間:2023/12/3 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache karaf_未来是Apache Karaf上的微服务架构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

apache karaf

這是Jamie Goodyear的客座博客文章( 博客 , @ icbts )。 他是Savoir Technologies的開源倡導(dǎo)者,Apache開發(fā)人員和計算機系統(tǒng)分析師; 他為全球大型組織設(shè)計,批判和支持了體系結(jié)構(gòu)。 他擁有紐芬蘭紀(jì)念大學(xué)的計算機科學(xué)理學(xué)學(xué)士學(xué)位。



Jamie曾在系統(tǒng)管理,軟件質(zhì)量保證和高級軟件開發(fā)人員職位中工作,其業(yè)務(wù)范圍從小型初創(chuàng)企業(yè)到國際公司。 他已經(jīng)在Apache Karaf,ServiceMix和Felix上獲得了提交者身份,并且是Apache Karaf的項目管理委員會成員,并且是Apache Software Foundation成員。 他的第一本印刷出版物是與Johan Edstrom合著的《即時OSGi入門》,Packt Publishing,然后是與Johan Edstrom和Heath Kesler一起學(xué)習(xí)Apache Karaf,Packt Publishing的。 他的第三本也是最新出版的書是《 Apache Karaf Cookbook》 ,Packt Publishing和Johan Edstrom,Heath Kesler和Achim Nierbeck。

我喜歡微服務(wù)架構(gòu)。

關(guān)于構(gòu)成微服務(wù)的內(nèi)容有很多描述,可以按照模式描述很多規(guī)范。 簡而言之,我傾向于將它們描述為應(yīng)用程序可以為他人提供服務(wù)的最小工作單元。 將這些服務(wù)整合在一起,我們便能夠構(gòu)建更大的體系結(jié)構(gòu),這些體系結(jié)構(gòu)模塊化,重量輕且具有適應(yīng)變化的能力。

從現(xiàn)代系統(tǒng)架構(gòu)的角度來看,為小型應(yīng)用程序提供完整生命周期控制的能力是我們的想法平臺。 運營商只需部署所需的服務(wù),就地更新它們,并根據(jù)需要擴(kuò)展其他實例。 另一種描述方式是應(yīng)用程序即服務(wù)(AaaS)。 采用特定的小型服務(wù),例如Apache Camel路由或Apache CXF端點,并在不破壞整個應(yīng)用程序的情況下對其進(jìn)行調(diào)整。 Apache Karaf IS是執(zhí)行微服務(wù)的平臺。

為了簡化微服務(wù),Karaf提供了許多開箱即用的有用功能。

  • 一組經(jīng)過良好測試的庫和框架,有助于為組裝應(yīng)用程序平臺消除猜測。
  • 通過各種機制(例如Apache Maven)配置庫或應(yīng)用程序。
  • 功能描述符,可一起部署相關(guān)服務(wù)和資源。
  • 控制臺和基于Web的命令可幫助您輕松進(jìn)行精細(xì)的控制,并且
  • 通過Pax考試簡化了集成測試。

我最喜歡的微服務(wù)模式之一是將Apache Camel與Apache Karaf上的托管服務(wù)工廠(MSF)一起使用。 Camel提供了一個簡單的DSL,用于將企業(yè)集成模式連接在一起,以將數(shù)據(jù)從端點A移動到端點B為例。 托管服務(wù)工廠是一種模塊化模式,用于配置驅(qū)動的微服務(wù)部署–將ConfigAdmin,OSGi Service Registry和我們的應(yīng)用程序代碼聯(lián)系在一起。


例如,用戶可以使用MSF創(chuàng)建配置以連接其駱駝路線,每個配置將生成唯一的PID。 這種模式確實非常強大。 創(chuàng)建100個配置,并將實例化100個相應(yīng)的微服務(wù)(駱駝路線)。 但是,只有一組代碼需要維護(hù)。

讓我們仔細(xì)看一下托管服務(wù)工廠的實現(xiàn)。 ManagedServiceFactory負(fù)責(zé)管理實例化(configurationPid),創(chuàng)建或更新實例化服務(wù)的值,最后負(fù)責(zé)在服務(wù)實例化之后進(jìn)行清理。 閱讀有關(guān)ManagedServiceFactory API的更多信息。

public class HelloFactory implements ManagedServiceFactory {@Overridepublic String getName() { return configurationPid; }@Overridepublic void updated(String pid, Dictionary dict) throws ConfigurationException { // Create a dispatching engine for given configuration.}@Overridepublic void deleted(String pid) {// Delete corresponding dispatch engine for given configuration.}//We wire in blueprintpublic void init() {} public void destroy() {}public void setConfigurationPid(String configurationPid) {}public void setBundleContext(BundleContext bContext) {}public void setCamelContext(CamelContext camelContext) {} }

我們重寫給定的ManageServiceFactory接口以與DispatchEngines一起使用。 DispatchEngine是一個簡單的類,其中包含用于使用給定配置實例化Camel路由的代碼。

public class HelloDispatcher {public void start() {// Create routeBuilder using configuration, add to CamelContext.// Here ‘greeting’ and ‘name’ comes from configuration file.from(“timer://helloTimer?fixedRate=true.=1000").routeId("Hello " + name).log(greeting + " " + name); }public void stop() {// remove route from CamelContext.} }

當(dāng)我們將這些類作為捆綁部署到Karaf中時,我們獲得了功能特別強大的應(yīng)用程序即服務(wù)。 我們?yōu)榉?wù)提供的每個配置都會實例化一個新的Camel路由器(這些配置文件非常簡單地由Greeting和Name組成)。 駱駝的Karaf命令可以對這些路線進(jìn)行細(xì)粒度的控制,從而為操作員提供簡單的管理。

上面的示例的完整代碼可通過github獲得 ,并在Packt Publishing的Apache Karaf Cookbook中進(jìn)行了詳細(xì)探討。

諸如上述的微服務(wù)架構(gòu)為諸如駱駝路線或CXF端點之類的常見應(yīng)用釋放了OSGi的強大功能。 這些并不是唯一受益的應(yīng)用程序。 我想分享一下我們的Karaf成功案例,其中重點介紹了Apache Karaf如何幫助將結(jié)構(gòu)引入到現(xiàn)有的基于大規(guī)模微服務(wù)的項目中。

想象一下,有成百上千個分發(fā)包分布在數(shù)十個相互連接的項目上,這些項目實際上已部署在一個普通的OSGi內(nèi)核中,并祝萬事如意,以成功地正常啟動。 SDN和NFV平臺OpenDaylight就是在幾個月前找到自己的情況的。

使用Karaf Feature描述符,每個項目都能夠?qū)⑵湟蕾図?#xff0c;捆綁包和其他資源組織成一致的結(jié)構(gòu)。 開發(fā)了自定義命令以與其核心服務(wù)進(jìn)行交互。 每個項目到項目整體的集成測試都是自動化的。 最后,所有這些項目都已集成到自己的自定義發(fā)行版中。

他們的第一個基于Karaf的版本Helium即將發(fā)布。 我們都期待著將SDN和NFV社區(qū)歡迎到Karaf。

雖然將Apache Karaf 3.0.x系列保持為我們的主要生產(chǎn)目標(biāo),但社區(qū)一直在忙于開發(fā)下一代Karaf容器。

4.0.x系列將通過Felix 4.4.1和Equinox 3.9.1-v20140110-1610附帶OSGi Rev5支持,以及基于聲明服務(wù)而不是藍(lán)圖的完全重構(gòu)的內(nèi)部框架。 從用戶的角度來看,這些更改將產(chǎn)生一個更小,更高效的Karaf內(nèi)核。 Karaf中將提供藍(lán)圖功能,因此您可以輕松安裝基于藍(lán)圖的應(yīng)用程序。 您將始終能夠在Karaf中使用“藍(lán)圖”。 因此,從用戶角度來看,主要區(qū)別在于,如果需要,您需要依賴Blueprint服務(wù)。

這是對Apache Karaf上的微服務(wù)架構(gòu)的非常簡要的概述,以及Karaf的未來方向。 我建議任何對微服務(wù)感興趣的人訪問OSGi聯(lián)盟網(wǎng)站 ,并加入Apache Karaf社區(qū) 。 對于那些想深入學(xué)習(xí)高級定制Karaf發(fā)行版的人,可以看看Aetos 。 Apache Karaf也是JBoss Fuse的一部分。

翻譯自: https://www.javacodegeeks.com/2014/10/the-future-is-micro-service-architectures-on-apache-karaf.html

apache karaf

總結(jié)

以上是生活随笔為你收集整理的apache karaf_未来是Apache Karaf上的微服务架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。