自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

五個(gè)支持微服務(wù)體系結(jié)構(gòu)的Java框架

開(kāi)發(fā) 后端
在過(guò)去的五年中,隨著專門為支持新的微服務(wù)而構(gòu)建的技術(shù)的發(fā)展,該行業(yè)出現(xiàn)了爆炸式的發(fā)展。但這并不意味著它們最適合每個(gè)人的需要。

在過(guò)去的五年中,隨著專門為支持新的微服務(wù)而構(gòu)建的技術(shù)的發(fā)展,該行業(yè)出現(xiàn)了爆炸式的發(fā)展。但這并不意味著它們最適合每個(gè)人的需要。事實(shí)上,與通常在考慮技術(shù)堆棧的情況下開(kāi)發(fā)的Monolith不同,微服務(wù)體系結(jié)構(gòu)中的每個(gè)服務(wù)都可以使用基于其自身功能的不同框架構(gòu)建。我們將介紹一些最流行的構(gòu)建微服務(wù)的java框架——傳統(tǒng)框架和容器專用框架。

1.用于微服務(wù)的Jakarta EE/Java EE

經(jīng)典的JavaEE(現(xiàn)在稱為Jakarta EE(JEE))構(gòu)建應(yīng)用程序的方法是面向獨(dú)石的。傳統(tǒng)上,使用JavaEE構(gòu)建的企業(yè)應(yīng)用程序?qū)⒋虬絾蝹€(gè)EAR(企業(yè)存檔)部署單元中,其中包括WAR(Web存檔)模塊和JAR(Java存檔)文件。

盡管沒(méi)有任何技術(shù)限制排除在微服務(wù)體系結(jié)構(gòu)中使用JEE的可能性,但存在著巨大的間接成本。每個(gè)服務(wù)都需要打包為一個(gè)獨(dú)立的單元,這意味著它應(yīng)該部署在自己的JEE服務(wù)器中。這可能意味著部署幾十臺(tái)甚至數(shù)百臺(tái)應(yīng)用服務(wù)器來(lái)支持典型的企業(yè)應(yīng)用程序。

幸運(yùn)的是,社區(qū)很早就注意到標(biāo)準(zhǔn)JEE沒(méi)有解決微服務(wù)引入的新構(gòu)建挑戰(zhàn)。自2016年以來(lái),許多額外的開(kāi)源項(xiàng)目已經(jīng)開(kāi)始支持JEE中構(gòu)建的微服務(wù)。

Eclipse Micropofile是一組基于JEE技術(shù)的不斷增長(zhǎng)的API。它是一個(gè)用于構(gòu)建企業(yè)Java微服務(wù)的操作系統(tǒng)社區(qū)規(guī)范,由業(yè)內(nèi)一些知名公司支持,包括Oracle、Red Hat和IBM。

2.Spring (Spring Boot 和 Spring Cloud)

Spring是構(gòu)建Java應(yīng)用程序最流行的框架之一,與Java/Jakarta EE一樣,它也可以用于構(gòu)建微服務(wù)。正如他們所說(shuō),“[微服務(wù)]在流程級(jí)別上做的事情,與Spring在組件級(jí)別上做的事情一樣。” 

[[439160]] 

不過(guò),要在Spring框架上啟動(dòng)并運(yùn)行具有微服務(wù)體系結(jié)構(gòu)的應(yīng)用程序,這并不是最簡(jiǎn)單的過(guò)程……你需要使用Spring云(充分利用Spring引導(dǎo))、幾個(gè)Netflix OSS項(xiàng)目,最后還要使用一些Spring“配置魔法”。

Spring為微服務(wù)的開(kāi)發(fā)做好了充分的準(zhǔn)備,并提供了一個(gè)圍繞外部開(kāi)源項(xiàng)目的產(chǎn)品,以解決運(yùn)營(yíng)角度的問(wèn)題。但這并不意味著這會(huì)很容易。

3.Lagom (Lightbend)

Lightbend為我們提供了另一種選擇。繼續(xù)使用相同的主題,Lagom在Lightbend stack上包裹Play和Akka,以提供一種更簡(jiǎn)單的方式構(gòu)建微服務(wù)。他們的重點(diǎn)不僅是為那些轉(zhuǎn)向微服務(wù)的人提供一個(gè)簡(jiǎn)單的解決方案,而且要確保這些微服務(wù)易于擴(kuò)展和響應(yīng)。

“大多數(shù)微服務(wù)框架都專注于簡(jiǎn)化單個(gè)微服務(wù)的構(gòu)建——這是最簡(jiǎn)單的部分。Lagom將其擴(kuò)展到了微服務(wù)系統(tǒng)和大型系統(tǒng)——這是最困難的部分,因?yàn)槲覀兠媾R著分布式系統(tǒng)的復(fù)雜性。”

Lagom在一個(gè)框架中利用了Lightbend的功能,專門為構(gòu)建跨大型部署有效擴(kuò)展的反應(yīng)式微服務(wù)而設(shè)計(jì)。他們不僅關(guān)注單個(gè)微服務(wù),而且關(guān)注整個(gè)系統(tǒng)。

4.Dropwizard

與本文中介紹的其他框架不同,Dropwizard是一個(gè)Java框架,用于開(kāi)發(fā)操作友好、高性能、RESTful web服務(wù)。一個(gè)固執(zhí)己見(jiàn)的Java庫(kù)集合,使構(gòu)建生產(chǎn)就緒的Java應(yīng)用程序變得更加容易。

Dropwizard模塊允許連接Dropwizard核心以外的其他項(xiàng)目,還有一些由社區(qū)開(kāi)發(fā)的模塊用于連接Netflix Eureka等項(xiàng)目,類似于Spring Cloud。

[[439161]] 

由于Dropwizard是一個(gè)社區(qū)項(xiàng)目,沒(méi)有像Spring和Pivotal、Java EE和Oracle、Lagom和Lightbend這樣的大公司的支持,它的開(kāi)發(fā)可能會(huì)慢一些,但它背后有一個(gè)強(qiáng)大的社區(qū),它是大公司和小項(xiàng)目的一個(gè)通用框架。

5.Vertx、Spotify Apollo、Kubeless和其他“特定于微服務(wù)”的框架

除了我們?cè)谶@里提到的四大參與者之外,還有很多其他項(xiàng)目值得一提,也可以用于編寫微服務(wù):

Vertx也在Eclipse基金會(huì)的基礎(chǔ)上,是在JVM上構(gòu)建反應(yīng)式應(yīng)用程序的工具包。有人可能會(huì)說(shuō),它應(yīng)該在四巨頭中占有一席之地。

Spotify Apollo是Spotify編寫Java微服務(wù)時(shí)使用的一組Java庫(kù)。Apollo包括HTTP服務(wù)器和URI路由系統(tǒng)等功能,這使得實(shí)現(xiàn)RESTful服務(wù)變得非常簡(jiǎn)單。

Kubeless是Kubernetes原生的無(wú)服務(wù)器框架。它專門設(shè)計(jì)用于部署在Kubernetes群集上,因此用戶能夠使用本機(jī)Kubernetes API服務(wù)器和網(wǎng)關(guān)。

其他框架包括Spark、Ninja和Jodd、Restlet和Bootique.io。

無(wú)論你使用哪個(gè)框架或平臺(tái),構(gòu)建微服務(wù)都不會(huì)與它們緊密耦合。這是一種思維方式和體系結(jié)構(gòu)方法,最佳實(shí)踐(一如既往)是為應(yīng)用程序的獨(dú)特需求找到最佳選項(xiàng)。

 

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2023-07-04 15:00:47

微服務(wù)架構(gòu)開(kāi)發(fā)

2021-04-06 09:43:41

微服務(wù)架構(gòu)數(shù)據(jù)

2024-07-26 08:00:00

2016-12-26 10:29:01

Spring框架結(jié)構(gòu)

2012-03-14 11:33:31

ibmdw

2009-02-04 09:48:39

體系結(jié)構(gòu)服務(wù)原理Web

2021-08-17 10:37:10

分層設(shè)計(jì)領(lǐng)域劃分架構(gòu)

2009-06-26 15:58:28

EJB

2020-05-29 09:41:26

微服務(wù)數(shù)據(jù)工具

2018-09-11 12:41:42

HadoopJava工具

2022-07-08 11:19:29

微服務(wù)Java框架

2020-05-14 19:10:37

微服務(wù)架構(gòu)書(shū)籍

2010-09-16 14:36:43

Java虛擬機(jī)

2022-12-16 09:29:23

攜程微服務(wù)

2012-02-06 17:22:44

MySQL

2014-07-23 09:33:52

2009-07-15 13:46:26

Swing體系結(jié)構(gòu)

2009-09-11 10:38:03

LINQ體系結(jié)構(gòu)

2011-06-30 09:07:00

Java EEWeb服務(wù)

2022-08-08 10:09:58

服務(wù)網(wǎng)格架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)