本文我們簡單聊聊當(dāng)下主流的 3 個(gè) Java 微服務(wù)框架帆竹,看看各自的特點(diǎn)腊凶。
1. Spring and Spring Boot
Spring Boot 在 Java 微服務(wù)領(lǐng)域絕對(duì)是一哥,毫無爭議饵婆,據(jù)說已經(jīng)占據(jù) 57% 的市場(chǎng)份額笼吟。
Spring Boot 這么牛是有道理的,它太成熟了粘茄,功能特性極其豐富签舞,不管你的需求多復(fù)雜,都能滿足你柒瓣。
還內(nèi)置了各種通用的功能儒搭,例如安全認(rèn)證等等,開箱即用芙贫,非常方便搂鲫。
SpringBoot 配置優(yōu)先的理念大大簡化了開發(fā),通過自動(dòng)配置可以非常簡單的集成各種技術(shù)磺平。
SpringBoot 集成了嵌入式的 Tomcat魂仍,應(yīng)用打成 jar 包即可以運(yùn)行,可以方便的運(yùn)行在容器中褪秀。
SpringBoot 是開源的蓄诽,文檔很全,社區(qū)也活躍媒吗。
從學(xué)習(xí)仑氛、開發(fā),到部署運(yùn)行闸英,都這么便捷锯岖,想不火都難。
官網(wǎng)地址:
2. Dropwizard
Dropwizard 是一個(gè)開源的 RESTful 快速開發(fā)框架甫何,對(duì)微服務(wù)的開發(fā)也極其友好出吹,而且性能很強(qiáng)。
Dropwizard 也是打成 Jar 運(yùn)行辙喂,SpringBoot 默認(rèn)集成的是 Tomcat捶牢,Dropwizard 集成的是 Jetty鸠珠。
Dropwizard 有一個(gè)特點(diǎn),它集成了各個(gè)領(lǐng)域的龍頭技術(shù)秋麸,而且不可替換渐排,不像 SpringBoot 集成的那么多,供大家選擇灸蟆。
例如:
- WebServer 選 Jetty
- REST 選 Jersey
- 監(jiān)控選 Metrics
- 日志用 Logback驯耻、slf4j
這樣的話就不需要我們自己選擇了,簡單了很多炒考。
而 SpringBoot 的思路是全面包容可缚,你想用啥都行,我都支持斋枢,例如 WebServer 你可以用 Tomcat帘靡,也可以選 Jetty、Undertow瓤帚。
Dropwizard 自身是不支持依賴注入的测柠,但集成了這個(gè)領(lǐng)域的強(qiáng)者 Guice 和 Dagger。
官網(wǎng)地址:
3. Micronaut
Micronaut 有3個(gè)突出的特點(diǎn):
- 啟動(dòng)極快
- 內(nèi)存占用少
- 原生支持 ServerLess
IOC 是 Spring 引以為傲的特性缘滥,是基于大量的反射實(shí)現(xiàn)的轰胁,但這會(huì)影響啟動(dòng)速度,Micronaut 沒有這么做朝扼,較少的使用了反射和代理赃阀,所以啟動(dòng)飛快,而且 Micronaut 是基于 GraalVM 的擎颖,增強(qiáng)了其速度和內(nèi)存方面的優(yōu)勢(shì)榛斯。
Micronaut 使用的是 Netty,所以對(duì)響應(yīng)式編程的支持也是一流的搂捧。
官網(wǎng)地址:
SpringBoot 我們都很熟悉了驮俗,建議也了解一下 Dropwizard 和 Micronaut,有利于擴(kuò)展我們的思路允跑。
推薦閱讀