欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何使用Java來構(gòu)建微服務

如何使用Java來構(gòu)建微服務,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為望謨企業(yè)提供專業(yè)的網(wǎng)站建設、網(wǎng)站制作,望謨網(wǎng)站改版等技術(shù)服務。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

要構(gòu)建微服務,Java是一個非常好的選擇。如何在容器中使用Java構(gòu)建微服務?為你講述了三種構(gòu)建方案,無論是哪種方案,要實現(xiàn)微服務,使用Java生態(tài)圈的組件都是經(jīng)過業(yè)界驗證的。

概覽

1. 在Java生態(tài)系統(tǒng)中構(gòu)建微服務的策略有三種,分別為:無容器、自成容器、外置容器。
2. 以無容器的方式提供微服務,會把整個應用打包,包含所有依賴,打進一個fat JAR包中。
3. 自成容器的微服務同樣也是打成單個JAR包,JAR包中會包含帶有第三方類庫的嵌入式框架。
4. 外置容器的微服務方式,會把整個Java EE容器和服務的實現(xiàn)打包進一個Docker容器。

基于微服務的架構(gòu)給架構(gòu)師和開發(fā)者帶來了新的挑戰(zhàn),不斷出現(xiàn)的新語言和開發(fā)工具使我們得以應對這個挑戰(zhàn)。Java也不例外,本文將探索在Java生態(tài)系統(tǒng)中構(gòu)建微服務的新思路。

不討論微服務的好壞,也不討論你是否應該一開始就以微服務架構(gòu)來設計應用,或者是否應該將已有的龐大應用重構(gòu)成微服務架構(gòu)。

這里討論的方法并不是僅有的方法,但它們會為我們看到其他可能帶來啟發(fā)。雖然本文的重點是Java生態(tài)系統(tǒng),但其中的概念對其他語言和技術(shù)也通用。

我在本文命名了幾種方式為“無容器”、“自成容器”、“外置容器”。這些術(shù)語并未被廣泛使用,但是它們能足以區(qū)分每種方法的特點,我會在以下小節(jié)中討論。

無容器方案

在無容器的方式中,開發(fā)者把JVM上的所有組件都看作應用的一部分。

無容器的方式使用單個JAR包部署(所謂的"fat JAR部署"),意味著,這個應用以及它所有的依賴,都被打包成一個JAR文件,這個JAR可被作為獨立的Java進程啟動。

如何使用Java來構(gòu)建微服務```sh
$ java -jar myservice.jar
```
這方法其中一個優(yōu)點是,可以根據(jù)需要非常簡單地停啟服務,以達到擴容或縮容的目的;另一個優(yōu)勢是方便實現(xiàn)分布式部署,只需要同步一個JAR文件就可以了。

另一方面,它的缺點是類庫依賴的兼容性問題。例如你需要使應用支持事務特性,你只能靠自己了,或者需要引入支持這個功能是第三方類庫。以后,每當你需要支持其他特性,例如說,持久化,就很可能會遇到類庫之間的兼容性問題。

自成容器方案

單JAR包的部署方式有一個變體,就是把你的服務基于一個內(nèi)置框架構(gòu)建。通過這種方法,框架可以提供服務所需要的特性,開發(fā)者可以自行選擇哪些特性被包含在服務內(nèi)。

你可能會爭論說這和"無容器"方案不是一模一樣嗎?但是,在這我想特地區(qū)分開它們,因為“自成容器”的方案實際上會提供一套具兼容性的第三方類庫。
如何使用Java來構(gòu)建微服務這種情況下,把Java EE容器作為一個必要的基礎似乎是適當?shù)?。因此,你唯一需要的是Jave EE的API。注意這些依賴已經(jīng)由容器提供好了,這意味著最終應用的WAR文件會非常小。這種微服務的實現(xiàn)方式和上邊的Wildfly Swarm例子一樣:[Gist Snippet](https://gist.github.com/ivargrimstad/c368221fa079285856e7)

這種方式的優(yōu)點是,容器通過標準的API提供了已驗證標準功能的實現(xiàn),因此,作為一個開發(fā)者,你可以不關心底層細節(jié),完全集中在業(yè)務功能上。

這個方案的另一個優(yōu)點是,應用層的代碼并不依賴于它所部署的Jave EE應用服務器,無論它是[GlassFish](https://glassfish.java.net/), [WildFly](http://wildfly.org/), [WebLogic](http://www.oracle.com/us/products/middleware/cloud-app-foundation/weblogic/overview/index.html), [WebSphere](http://www.ibm.com/software/websphere)或者任何其他Jave EE兼容的實現(xiàn)。

缺點是你需要把服務部署進一個容器中,所以一定程度上增加了部署的復雜度。

Docker

[Docker](https://www.docker.com/)現(xiàn)在要出場了,通過把Java EE容器和服務的實現(xiàn)打包進一個Docker鏡像,可以達到和單JAR包方式部署差不多的效果,不同之處是服務是打包進一個Docker鏡像而不是一個JAR包了。

```sh
Dockerfile

FROM jboss/wildfly:9.0.1.Final
ADD myservice.war /opt/jboss/wildfly/standalone/deployments
```

通過啟動Docker引擎中的鏡像來開啟這個服務。

```sh
$ docker run -it -p 8081:8080 myorganization/myservice
```

Snoop
細心的讀者可能注意到前邊Spring Boot示例中的<code>@EnableEurekaClient</code>注解,這個注解通過Eureka把服務注冊了,讓它能被服務的消費者發(fā)現(xiàn)。[Eureka](https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance)是Spring Cloud Netflix工具集的一部分,能極度簡化服務發(fā)現(xiàn)的配置。

Java EE并沒有提供這個特性,但是相應的有幾個開源的方案。其中一個是[Snoop](https://github.com/ivargrimstad/snoop),與Eureka有[類似的功能](https://github.com/ivargrimstad/snoop),要使Java EE微服務能被路由到,唯一要做的一件事是使用@EnableSnoopClient注釋,詳見示例:[Gist Snippet](https://gist.github.com/ivargrimstad/34bfe4b5368a35d30007)

要構(gòu)建微服務,Java是一個非常好的選擇,文中提到的任何一個方案都可以實現(xiàn)。對于相對簡單的服務來說,“無容器”或”自成容器”是更好的選擇,但是使用外置容器的方式,能更快捷簡單地構(gòu)建更復雜的服務。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

新聞標題:如何使用Java來構(gòu)建微服務
分享網(wǎng)址:http://aaarwkj.com/article34/jejope.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、建站公司、網(wǎng)站設計、Google服務器托管、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設
日韩av一区二区国产| 97成人在线免费视频| 国产我不卡在线观看免费| 丁香色婷婷国产精品视频| 亚洲国产日韩在线精品| 欧美亚洲综合日韩精品区| 国产亚洲综合精品综合区| 国产综合欧美日韩在线91| 日韩国产欧美亚洲一区| 国产精品美女露脸av毛片| 亚洲国产综合亚洲综合国产| 午夜欧美激情在线视频| 大秀视频一区二区三区| 未满十八禁止在线播放| 精品蜜桃臀91人少妇| 99精品国产中文字幕| 中文字幕日韩欧美一区| 国产偷国产偷亚洲综合av| 亚洲精品高清一区二区| 国家成人午夜在线观看| 啪啪视频日韩一区二区| 精品人妻一区二区三区观看| 国产高跟丝袜av专区| 后入动漫视频在线观看| 亚洲综合日韩欧美一区二区三区| 少妇互射视频免费视频| 亚洲熟妇av一区二区三区l| 丝袜亚洲激情欧美日韩偷拍| 亚洲黄色录像一区二区人妻黑人| av天堂中文一区二区三区| 精品国产18禁99久久久久久| 人妻操人人妻中出av| 人妻精品中文字幕一区二区在线| 无人区乱码一区二区三区| 国产精品重口调教系列| 精品人妻一区二区四区| 国内精品人妻中文字幕| 欧美美女福利午夜视频| 不卡的视频在线观看| 一区二区三区视频在线国产| 国产女主播福利在线播放|