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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

布线问题分支限界法java_大型布线:Java云应用程序缺少的技术

發(fā)布時(shí)間:2023/12/3 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 布线问题分支限界法java_大型布线:Java云应用程序缺少的技术 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

布線問(wèn)題分支限界法java

您是否曾經(jīng)想過(guò),為什么大多數(shù)Java框架中的依賴項(xiàng)注入僅用于本地進(jìn)程內(nèi)服務(wù)而不是分布式服務(wù)?

我最近在2013年EMC世界大會(huì)上遇到了Paul Maritz的主題演講 (跳至第32分鐘),這使我在云平臺(tái)的背景下思考了這個(gè)問(wèn)題。 主題演講是關(guān)于Pivtol如何在新興的云平臺(tái)市場(chǎng)中定位的出色且經(jīng)過(guò)深思熟慮的陳述。 他最有趣的觀點(diǎn)之一是,隨著移動(dòng)和互連設(shè)備(通常稱為物聯(lián)網(wǎng) )的激增,我們看到了一種新的應(yīng)用程序類別,可以吸收,處理和分發(fā)大量數(shù)據(jù)。

Maritz用一些有用的軼事證據(jù)突出了他的講話:一次跨大西洋飛行產(chǎn)生了將近30TB的數(shù)據(jù),需要通過(guò)新型應(yīng)用程序進(jìn)行記錄,處理和分析。

云織物

這些類型的應(yīng)用程序不能有效地建立在傳統(tǒng)的Java EE應(yīng)用程序服務(wù)器體系結(jié)構(gòu)上。 取而代之的是,它們將在高度適應(yīng)性強(qiáng)的動(dòng)態(tài)互連基礎(chǔ)架構(gòu)云結(jié)構(gòu)上運(yùn)行。

云結(jié)構(gòu)的動(dòng)態(tài)性質(zhì)對(duì)現(xiàn)有Java框架和容器提出了新要求。 例如,可以創(chuàng)建或遷移VM實(shí)例以滿足不斷增長(zhǎng)的需求。 在此設(shè)置中,計(jì)算機(jī)(以及服務(wù)端點(diǎn))的地址可能會(huì)更改。 這使得通常與Java EE應(yīng)用程序服務(wù)器集群和消息代理相關(guān)聯(lián)的靜態(tài)體系結(jié)構(gòu)難以管理和擴(kuò)展

云結(jié)構(gòu)基于硬件虛擬化構(gòu)建,其中物理計(jì)算資源通過(guò)軟件抽象。 需要將虛擬化擴(kuò)展到Java編程模型的堆棧,以便可以更高效地運(yùn)行應(yīng)用程序。

Spring:服務(wù)虛擬化先驅(qū)

Spring是這方面的早期先驅(qū)。 它通過(guò)替換容器API來(lái)通過(guò)依賴關(guān)系注入來(lái)獲取本地服務(wù)引用(JNDI),從而虛擬化了Java EE應(yīng)用服務(wù)器的許多部分。 這樣就可以在Java EE容器之外運(yùn)行Spring應(yīng)用程序代碼,例如在單元測(cè)試中。

隨著云結(jié)構(gòu)的普及,我們將看到有必要將Spring的接線功能擴(kuò)展到大型分布式服務(wù)-接線。 正如應(yīng)用程序不需要容器API來(lái)獲取對(duì)本地服務(wù)的引用一樣,它們也不需要API來(lái)調(diào)用遠(yuǎn)程服務(wù)或向端點(diǎn)發(fā)送消息。 如果將遠(yuǎn)程服務(wù)連接到應(yīng)用程序代碼,則架構(gòu)基礎(chǔ)結(jié)構(gòu)可以在遷移或創(chuàng)建VM時(shí)透明地傳播端點(diǎn)地址更改,以響應(yīng)不斷變化的工作負(fù)載:

大型布線的另一個(gè)好處是通信 虛擬化。 應(yīng)用程序代碼不再依賴特定于傳輸?shù)腁PI發(fā)送消息或調(diào)用遠(yuǎn)程服務(wù)。 云結(jié)構(gòu)負(fù)責(zé)將代碼與管理通信的代理一起注入:

這將使云結(jié)構(gòu)能夠采用和調(diào)整最合適的消息傳遞技術(shù),而無(wú)需更改代碼級(jí)。 除了大大簡(jiǎn)化代碼外,通信虛擬化還使生產(chǎn)更多可移植的云應(yīng)用成為可能。

在實(shí)踐中進(jìn)行大接線

那么,大型布線在實(shí)際中是什么樣的呢? 好消息是它的許多概念早于現(xiàn)代云計(jì)算的出現(xiàn)。 OASIS SCA標(biāo)準(zhǔn)為我們提供了一種簡(jiǎn)單且熟悉的方式來(lái)連接非常適合云架構(gòu)的遠(yuǎn)程服務(wù):

<composite name="LoanComposite" ...><component name="Client"><implementation.java class="org.fabric3.sample.client.ClientImpl"/><reference name="service" target="Service"/> </component><component name="Service"><implementation.java class="org.fabric3.sample.service.ServiceImpl"/></component></composite>

可以通過(guò)JMS,ZeroMQ,AMQP,MQTT或某些其他通信技術(shù)連接上述服務(wù)-取決于SCA運(yùn)行時(shí)或部署配置來(lái)選擇一種。 應(yīng)用程序代碼將相同:

public class ClientImpl implements Client {@Referenceprotected Service service;public void doSomething() {Message message = ...service.send(message); }}

Fabric3運(yùn)行時(shí)(一致的SCA實(shí)現(xiàn))以我們上面討論的方式提供了透明的動(dòng)態(tài)端點(diǎn)傳播。

下一步是什么?

目前,Fabric3對(duì)大型布線的支持要求將應(yīng)用程序部署到Fabric3容器中。 Fabric3社區(qū)正在努力消除這一限制,以便可以從任何JVM或Java運(yùn)行時(shí)以無(wú)所不在的方式訪問(wèn)云服務(wù)。 這是一個(gè)例子:

Fabric fabric = Bootstrap.initialize(); fabric.start();Domain domain = fabric.getDomain();Service service = domain.getService(Service.class); Message message = ... service.send(message);fabric.stop();

該API可以集成到諸如Spring和Guice之類的框架中,以提供透明的遠(yuǎn)程服務(wù)注入。 基本上,應(yīng)用程序代碼將不再需要處理特定的傳輸API,或者對(duì)于Spring,則不再需要處理模板。

****

回到Maritz的大規(guī)模消費(fèi),處理和分發(fā)數(shù)據(jù)的下一代應(yīng)用程序的畫面,大型布線有望起到與本地依賴注入在公司數(shù)據(jù)中心中對(duì)Java EE所做的現(xiàn)代化作用。 如果您想進(jìn)一步了解可能的技術(shù),請(qǐng)查看Fabric3 。

參考: 大型接線:我們的JCG合作伙伴 Jim Marino在服務(wù)機(jī)器博客上提供的Java云應(yīng)用程序缺少的技術(shù) 。

翻譯自: https://www.javacodegeeks.com/2013/12/wiring-in-the-large-the-missing-technology-for-java-cloud-applications.html

布線問(wèn)題分支限界法java

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的布线问题分支限界法java_大型布线:Java云应用程序缺少的技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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