RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Quarkus是SpringBoot的替代品嗎?

jf_ro2CN3Fa ? 來(lái)源:稀土掘金 ? 2023-11-10 10:01 ? 次閱讀

1 概述

SpringBoot框架不用多介紹,Java程序員想必都知道。相對(duì)來(lái)說(shuō)熟悉Quarkus的人可能會(huì)少一些。Quarkus首頁(yè)放出的標(biāo)語(yǔ):超音速亞原子的Java(Supersonic Subatomic Java)。

它是為 OpenJDK HotSpot 和 GraalVM 量身定制的 Kubernetes Native Java 框架,基于同類最佳的 Java 庫(kù)和標(biāo)準(zhǔn)制作而成。Quarkus 的到來(lái)為開(kāi)發(fā) Linux 容器和 kubernetes 原生 Java 微服務(wù)帶來(lái)了一個(gè)創(chuàng)新平臺(tái)。

在本文中,我們將對(duì)這兩個(gè) Java 框架 Spring Boot 和 Quarkus 進(jìn)行簡(jiǎn)單的比較。我們可以更好地了解它們之間的異同,以及一些特殊性。我們還會(huì)執(zhí)行一些測(cè)試來(lái)衡量它們的性能。最后,我們會(huì)介紹一個(gè)開(kāi)發(fā)人員如何從Spring轉(zhuǎn)換到Quarkus。

2 SpringBoot

Spring Boot 是一個(gè)基于 Java 的框架,專注于企業(yè)應(yīng)用。它可以簡(jiǎn)單使用所有 Spring 項(xiàng)目,并集成了許多開(kāi)箱即用的功能,來(lái)幫助開(kāi)發(fā)人員提高生產(chǎn)力。

Spring Boot減少了配置和樣板代碼的數(shù)量。此外,由于其約定優(yōu)于配置 方法,它根據(jù)依賴項(xiàng)自動(dòng)注冊(cè)默認(rèn)配置,大大縮短了 Java 應(yīng)用程序的開(kāi)發(fā)周期。

3 Quarkus

Quarkus 是另一個(gè)采用與上述 Spring Boot 類似方法的框架,但還有一個(gè)額外的優(yōu)點(diǎn),即以更快的啟動(dòng)時(shí)間、更好的資源利用率和效率交付更小的工件 (Supersonic、Subatomic)。

它針對(duì)云、無(wú)服務(wù)器和容器化環(huán)境進(jìn)行了優(yōu)化。盡管側(cè)重點(diǎn)略有不同, Quarkus 也能與最流行的 Java 框架很好地集成。

4 比較

如上所述,這兩個(gè)框架都與其他項(xiàng)目和框架有很好的集成。但是,它們的內(nèi)部實(shí)現(xiàn)和架構(gòu)是不同的。例如,Spring Boot 提供兩種類型的 Web 功能:阻塞(Servlets)和非阻塞(WebFlux) 。

另一方面,Quarkus 也提供這兩種方法,但與 Spring Boot 不同的是,它允許我們同時(shí)使用 阻塞和非阻塞方法。此外,Quarkus 在其架構(gòu)中嵌入了反應(yīng)式 編程方法。

為了在我們的比較中獲得更準(zhǔn)確的數(shù)據(jù),我們將使用兩個(gè)完全響應(yīng)式的應(yīng)用程序,這些應(yīng)用程序使用 Spring WebFlux 和 Quarkus 響應(yīng)式功能實(shí)現(xiàn)。

此外,Quarkus 項(xiàng)目中最重要的功能之一是能夠創(chuàng)建原生鏡像(Native Images,基于特定平臺(tái)的可執(zhí)行二進(jìn)制文件)。因此,我們還將在比較中包含兩個(gè)原生映像,但 Spring 的原生鏡像支持仍處于試驗(yàn)階段。另外我們需要用到 GraalVM。

測(cè)試應(yīng)用

我們的應(yīng)用程序?qū)?shí)現(xiàn)三個(gè) API:一個(gè)允許用戶創(chuàng)建郵政編碼,另一個(gè)用于查找特定郵政編碼的信息,最后按城市查詢郵政編碼。這些 API 是使用了前面提到的 Spring Boot 和 Quarkus 的反應(yīng)式方法實(shí)現(xiàn)的,數(shù)據(jù)庫(kù)使用的是PostgreSQL。

我們的目標(biāo)是創(chuàng)建一個(gè)比 HelloWorld 程序稍微復(fù)雜一些的樣例程序。當(dāng)然,數(shù)據(jù)庫(kù)驅(qū)動(dòng)和序列化框架等內(nèi)容的實(shí)現(xiàn)會(huì)影響我們的比較結(jié)果。但是,大多數(shù)應(yīng)用程序可能都會(huì)需要處理這些事情。

因此,比較的目的并不是為了證明哪個(gè)框架更好或更高效,而是分析研究這些特定實(shí)現(xiàn)的一個(gè)案例。

測(cè)試計(jì)劃

為了測(cè)試這兩種實(shí)現(xiàn),我們將使用 JMeter 執(zhí)行測(cè)試,并分析其測(cè)試報(bào)告。此外,我們將使用 VisualVM 在執(zhí)行測(cè)試期間監(jiān)控應(yīng)用程序的資源利用率。

測(cè)試將運(yùn)行 5 分鐘,會(huì)調(diào)用所有 API,從預(yù)熱期開(kāi)始,然后增加并發(fā)用戶數(shù),直到達(dá)到 1,500。我們將在前幾秒鐘開(kāi)始填充數(shù)據(jù)庫(kù),然后開(kāi)始查詢,如下所示:

96ae35ac-7f69-11ee-939d-92fbcf53809c.jpg96ba23f8-7f69-11ee-939d-92fbcf53809c.jpg

所有測(cè)試均在以下規(guī)格的機(jī)器上進(jìn)行:

96c6277a-7f69-11ee-939d-92fbcf53809c.jpg

由于缺乏與其他后臺(tái)進(jìn)程的隔離,最終結(jié)果可能不太理想,但正如前面提到的,我們無(wú)意對(duì)這兩個(gè)框架的性能進(jìn)行廣泛而詳細(xì)的分析。

5 調(diào)查結(jié)果

對(duì)開(kāi)發(fā)人員來(lái)說(shuō),這兩個(gè)項(xiàng)目的體驗(yàn)都很棒,但值得一提的是 Spring Boot 有更好的文檔,在網(wǎng)上也可以找到更多資料。Quarkus 在這方面正在改進(jìn),但仍然有點(diǎn)落后。

在指標(biāo)方面,我們有如下結(jié)果:

96d1758a-7f69-11ee-939d-92fbcf53809c.jpg

通過(guò)這個(gè)實(shí)驗(yàn),我們可以觀察到 Quarkus 在 JVM 和原生版本的啟動(dòng)時(shí)間方面幾乎比 Spring Boot 快一倍 。構(gòu)建時(shí)間也快得多。在原生鏡像的情況下,構(gòu)建耗時(shí):9 分鐘(Quarkus)對(duì) 13 分鐘(Spring Boot),JVM 構(gòu)建耗時(shí):20 秒(Quarkus)對(duì) 39 秒(Spring Boot)。

Artifact(工件)的大小出現(xiàn)了同樣的情況,Quarkus 生成了更小的工件而再次領(lǐng)先。原生映像:75MB (Quarkus) 對(duì) 109MB (Spring Boot),以及JVM 版本:4KB (Quarkus) 對(duì) 26MB (Spring Boot)。

關(guān)于其他指標(biāo),結(jié)論并不是那么顯而易見(jiàn)。因此,我們需要更深入地了解一下。

CPU

我們看到 JVM 版本在預(yù)熱階段開(kāi)始時(shí)消耗更多的 CPU 。之后CPU使用率趨于穩(wěn)定,所有版本的消耗相對(duì)均等。

以下是 JVM 和 Native 版本中 Quarkus 的 CPU 消耗:

96db357a-7f69-11ee-939d-92fbcf53809c.jpg

JVM 版的 Quarkus

96ee95d4-7f69-11ee-939d-92fbcf53809c.jpg

Native 版的 Quarkus

內(nèi)存

內(nèi)存就更復(fù)雜了。首先,很明顯,兩個(gè)框架的 JVM 版本都為Heap(堆)預(yù)留了更多內(nèi)存 。盡管如此,Quarkus 從一開(kāi)始就預(yù)留了較少的內(nèi)存 ,啟動(dòng)期間的內(nèi)存利用率也是如此。

然后,查看測(cè)試期間的利用率,我們可以觀察到Native版本似乎不像 JVM 版本那樣有效或頻繁地回收內(nèi)存。可以通過(guò)調(diào)整一些參數(shù)來(lái)改善這一點(diǎn),在這個(gè)比較中,我們使用了默認(rèn)參數(shù),并沒(méi)有對(duì) GC、JVM 選項(xiàng)或任何其他參數(shù)進(jìn)行更改。

讓我們看一下內(nèi)存使用圖:

96f2c2c6-7f69-11ee-939d-92fbcf53809c.jpg

Spring Boot JVM

970066b0-7f69-11ee-939d-92fbcf53809c.jpg

Quarkus JVM

970ab372-7f69-11ee-939d-92fbcf53809c.jpg

Spring Boot 原生

971b516e-7f69-11ee-939d-92fbcf53809c.jpg

Quarkus 原生

在測(cè)試期間盡管Quarkus出現(xiàn)了更高的峰值,但確實(shí)消耗的內(nèi)存資源更少。

響應(yīng)時(shí)間

最后,關(guān)于響應(yīng)時(shí)間和峰值使用的線程數(shù),Spring Boot 似乎略微具有優(yōu)勢(shì) 。它能夠使用更少的線程處理相同的負(fù)載,同時(shí)還具有更好的響應(yīng)時(shí)間。

Spring Boot Native 版本在這種情況下表現(xiàn)出更好的性能。但是讓我們看看每個(gè)版本的響應(yīng)時(shí)間分布:

97283276-7f69-11ee-939d-92fbcf53809c.jpg

Spring Boot JVM

盡管有更多異常值,但 Spring Boot JVM 版本隨著時(shí)間的推移取得了最好的進(jìn)展,這很可能是由于 JIT 編譯器優(yōu)化 [1]。

9732ce34-7f69-11ee-939d-92fbcf53809c.jpg

Quarkus JVM

97482c48-7f69-11ee-939d-92fbcf53809c.jpg

Spring Boot 原生

9754a6ee-7f69-11ee-939d-92fbcf53809c.jpg

Quarkus 原生

Quarkus 在低資源利用率方面表現(xiàn)出強(qiáng)大的實(shí)力。然而,至少在這個(gè)實(shí)驗(yàn)中,Spring Boot 在吞吐量和響應(yīng)能力方面與Quarkus旗鼓相當(dāng)。

這兩個(gè)框架都能夠處理所有請(qǐng)求而沒(méi)有任何錯(cuò)誤。不僅如此,他們的表現(xiàn)也十分相似,并沒(méi)有太大的差距。

總而言之

考慮到所有因素,在實(shí)現(xiàn) Java 應(yīng)用程序時(shí),這兩個(gè)框架都是很好的選擇。

Native程序速度快且資源消耗低,是無(wú)服務(wù)器、短期(short-living)應(yīng)用和資源消耗敏感環(huán)境的絕佳選擇。

另一方面,JVM 應(yīng)用程序似乎有更多的開(kāi)銷,但隨著時(shí)間的推移具有出色的穩(wěn)定性和高吞吐量,非常適合健壯、長(zhǎng)壽命的應(yīng)用程序。

測(cè)試程序的代碼和用于測(cè)試它們的腳本可以在 GitHub 上找到 [2]。

6 從 Spring 轉(zhuǎn)換到 Quarkus

隨著K8s的興起,對(duì)原生應(yīng)用支持良好的Quarkus框架也越來(lái)越受到關(guān)注很多開(kāi)發(fā)人員在考慮從 Spring 轉(zhuǎn)換到 Quarkus。然而,開(kāi)發(fā)人員在開(kāi)始評(píng)估新的框架時(shí)通常必須擱置他們現(xiàn)有的知識(shí)。

幸運(yùn)的是, Quarkus 不一樣,因?yàn)樗怯梢蝗涸?Java 技術(shù)方面具有深厚專業(yè)知識(shí)的工程師創(chuàng)建的。這包括 Spring API 兼容性,創(chuàng)建Quarkus的工程師同時(shí)也是在 Red Hat Runtime 上為 Spring Boot 提供支持的工程師。

7 我是 Spring 開(kāi)發(fā)者,為什么要選Quarkus?

越來(lái)越明顯的是,容器化,尤其是 Kubernetes,正在迫使人們重新評(píng)估 Java ,用于開(kāi)發(fā)云原生應(yīng)用程序。Kubernetes 是一種高度動(dòng)態(tài)的共享基礎(chǔ)設(shè)施。由于集群中托管的應(yīng)用程序數(shù)量的增長(zhǎng)以及對(duì)應(yīng)用程序生命周期變化的響應(yīng)能力的提高(例如重新部署和向上/向下擴(kuò)展),基礎(chǔ)設(shè)施的投入變得更加劃算。

傳統(tǒng)的 Java 云原生運(yùn)行時(shí)在現(xiàn)有的棧上增加了新的分層,而沒(méi)有真正重新考慮底層。這導(dǎo)致更大的內(nèi)存消耗和更慢的啟動(dòng)時(shí)間,以至于現(xiàn)在很多公司為了從 Kubernetes 集群的大量投資中獲得更多價(jià)值,愿意放棄他們深厚的 Java 專業(yè)知識(shí),為 Go 和 Node.js 重新培養(yǎng)人才和開(kāi)發(fā)工具。

9761ecdc-7f69-11ee-939d-92fbcf53809c.jpg

傳統(tǒng)云原生 Java 棧

這正是 Quarkus 解決的問(wèn)題。Quarkus 針對(duì)內(nèi)存使用率和快速啟動(dòng)時(shí)間進(jìn)行了優(yōu)化。與其他云原生 Java 棧相比,在 JVM 上運(yùn)行的 Quarkus 應(yīng)用可以在相同數(shù)量的RAM中提供近兩倍的應(yīng)用程序?qū)嵗⑶耶?dāng)打包為原生二進(jìn)制文件時(shí),實(shí)例數(shù)量增加了 7 倍。

這不僅僅是使用 SubstrateVM [3](GraalVM 的一個(gè)特性)簡(jiǎn)單地編譯為原生二進(jìn)制文件。

Quarkus 專為 Kubernetes 的基礎(chǔ)設(shè)施優(yōu)化了傳統(tǒng)的 “高度動(dòng)態(tài)”框架 ,從而降低了內(nèi)存利用率并加快了初始啟動(dòng)速度,結(jié)果是運(yùn)行時(shí)效率的顯著提高。這些經(jīng)過(guò)優(yōu)化且文檔齊全的框架稱為“擴(kuò)展 ”,由同類最佳的標(biāo)準(zhǔn) API 組成。

976d0662-7f69-11ee-939d-92fbcf53809c.jpg

運(yùn)行時(shí)效率

977a3b52-7f69-11ee-939d-92fbcf53809c.jpg

Quarkus 棧

我司為什么要從 Spring Boot 遷移到 Quarkus?

以我們公司為例,我司的舊系統(tǒng)基于 Spring 和 Tomcat。當(dāng)我們維護(hù)和部署時(shí),這個(gè)傳統(tǒng)的框架給我們帶來(lái)了一些困擾,基于以下原因我們決定遷移到Quarkus:

內(nèi)存和 CPU 消耗:對(duì)于正在執(zhí)行的操作,Spring 和 Tomcat 框架在應(yīng)用的主要目的之外使用了過(guò)多的資源。

預(yù)熱時(shí)間:Spring 應(yīng)用程序可能需要 10-20 秒的時(shí)間才能啟動(dòng),之后應(yīng)用程序才可以開(kāi)始預(yù)熱。

無(wú)用的代碼:作為開(kāi)發(fā)人員,我們都討厭樣板代碼(boilerplate code)。

測(cè)試:Quarkus 讓編寫(xiě)單元測(cè)試和集成測(cè)試變得非常容易。只需在那里打一個(gè)@QuarkusTest 注釋,它實(shí)際上會(huì)啟動(dòng)整個(gè)應(yīng)用程序以運(yùn)行您的測(cè)試。

橫向擴(kuò)展(Scale-out) vs. 縱向擴(kuò)展(Scale-up):每個(gè)應(yīng)用程序越?。ㄙY源方面),我們可以添加的越多。在這里橫向可擴(kuò)展性勝出。

學(xué)習(xí)曲線:Quarkus 的在線文檔非常簡(jiǎn)單易懂。

8 Spring 開(kāi)發(fā)者可以活用哪些現(xiàn)有知識(shí)?

Quarkus 的 Spring API 兼容性包括 Spring DI、Spring Web 和 Spring Data JPA。同時(shí)也在計(jì)劃其他 Spring API,如 Spring Security 和 Spring Config。在 JVM 上運(yùn)行時(shí),Quarkus 應(yīng)用程序幾乎可以利用任何 Java 庫(kù)。只要不使用 Java 反射 ,這些Java庫(kù)就可以編譯為原生。

例如,受 Spring 開(kāi)發(fā)人員歡迎的 Lombok 庫(kù)就可以原生編譯。需要明確的是,Quarkus 中的 Spring API 兼容性并非為了作為一個(gè)完整的 Spring 平臺(tái)來(lái)重新托管現(xiàn)有的 Spring 應(yīng)用程序。目的是為了讓基于 Quarkus 開(kāi)發(fā)新應(yīng)用程序成為一種自然的入門(mén)體驗(yàn)。結(jié)合預(yù)先優(yōu)化的擴(kuò)展 ,Quarkus 為微服務(wù)開(kāi)發(fā)提供了大量的功能。很多開(kāi)發(fā)人員已成功將 Spring 應(yīng)用程序遷移到 Quarkus。

Spring 框架本質(zhì)上是高度動(dòng)態(tài)的。為了解決這個(gè)問(wèn)題,Quarkus的Spring 兼容性擴(kuò)展將 Spring API 映射到現(xiàn)有擴(kuò)展中的 API,這些擴(kuò)展已經(jīng)針對(duì)快速啟動(dòng)、降低內(nèi)存利用率和原生編譯進(jìn)行了優(yōu)化,例如 RestEasy 和 CDI。此外,Quarkus的Spring 兼容性擴(kuò)展不使用 Spring 應(yīng)用程序上下文。由于這些原因,嘗試使用額外的 Spring 庫(kù)可能不會(huì)奏效。

Quarkus Spring Web Example

importjava.util.List;
importjava.util.Optional;
importorg.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/person")
publicclassPersonController{
@GetMapping(path="/greet/{id}",produces="text/plain")
publicStringgreetPerson(@PathVariable(name="id")longid){
Stringname="";
//...
returnname;
}

@GetMapping(produces="application/json")
publicIterablefindAll(){
returnpersonRepository.findAll();
}

Quarkus Spring Repository Example

packageorg.acme.springmp;

importjava.util.List;
importorg.springframework.data.repository.CrudRepository;

publicinterfacePersonRepositoryextendsCrudRepository{
ListfindByAge(intage);
}

Quarkus Spring Service + MicroProfile Fault Tolerance Example

importorg.eclipse.microprofile.faulttolerance.Fallback;
importorg.eclipse.microprofile.faulttolerance.Timeout;
importorg.eclipse.microprofile.rest.client.inject.RestClient;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.beans.factory.annotation.Value;
importorg.springframework.stereotype.Service;

@Service//Spring
publicclassPersonService{

@Autowired//Spring
@RestClient//MicroProfile
SalutationMicroProfileRestClientsalutationRestClient;

@Value("${fallbackSalutation}")//Spring
StringfallbackSalutation;

@CircuitBreaker(delay=5000,failureRatio=.5)//MicroProfile
@Fallback(fallbackMethod="salutationFallback")//MicroProfile
publicStringgetSalutation(){
returnsalutationRestClient.getSalutation();
}

9 對(duì)Spring開(kāi)發(fā)者有額外的好處嗎?

除了提高內(nèi)存利用率和啟動(dòng)時(shí)間外,Quarkus 還為 Spring 開(kāi)發(fā)人員提供了以下好處:

功能即服務(wù) (FaaS) 。當(dāng)編譯為原生二進(jìn)制文件時(shí),Quarkus 應(yīng)用程序可以在 0.0015 秒內(nèi)啟動(dòng),從而可以將現(xiàn)有的 Spring 和 Java API 知識(shí)與 FaaS 功能結(jié)合使用。(Azure、AWS Lambda)

實(shí)時(shí)編碼 。從“Hello World”示例應(yīng)用程序開(kāi)始,然后將其轉(zhuǎn)換為復(fù)雜的微服務(wù),而無(wú)需重新啟動(dòng)應(yīng)用程序。只需保存并重新加載瀏覽器即可查看沿途的變化。Quarkus 實(shí)時(shí)編碼“開(kāi)箱即用”,與 IDE 無(wú)關(guān)。

支持反應(yīng)式和命令式模型。 Quarkus 有一個(gè)反應(yīng)式核心,支持傳統(tǒng)的命令式模型、反應(yīng)式模型,或在同一應(yīng)用程序中同時(shí)支持兩者。

早期檢測(cè)依賴注入錯(cuò)誤。 Quarkus 在編譯期間而不是在運(yùn)行時(shí)捕獲依賴項(xiàng)注入錯(cuò)誤。

最佳框架和標(biāo)準(zhǔn)的結(jié)合 。Quarkus 在同一應(yīng)用程序中支持 Spring API 兼容性、Eclipse Vert.x、MicroProfile(JAX-RS、CDI 等)、反應(yīng)式流和消息傳遞等,可以在一個(gè)項(xiàng)目中同時(shí)使用 Spring 和 MicroProfile API。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    795

    瀏覽量

    41643
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2966

    瀏覽量

    104701
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    762

    瀏覽量

    44115
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3794

    瀏覽量

    64360
  • JVM
    JVM
    +關(guān)注

    關(guān)注

    0

    文章

    158

    瀏覽量

    12220

原文標(biāo)題:微服務(wù)框架之爭(zhēng):Quarkus 是 SpringBoot 的替代品嗎?

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LM3080N的替代品有哪些?

    有這個(gè)芯片LM3080N的替代品沒(méi)? 幫人詢問(wèn)呢。謝謝。
    發(fā)表于 09-14 08:46

    尋找松下TX2-12V的替代品

    松下的效益不行了,要搬場(chǎng),繼電器要漲價(jià),求替代品。哪位大俠可以幫助一下。謝謝。原來(lái)用的型號(hào)是TX2-12V。附件中是他的數(shù)據(jù)手冊(cè)。
    發(fā)表于 11-17 11:42

    尋求Ubuntu13系統(tǒng)下軟件替代品……

    下的kile軟件的替代品是什么?我在ubuntu軟件中心找到了一個(gè)kile,但是安裝后總感覺(jué)什么都沒(méi)有,模板也找不到,完全不會(huì)用,球大神給講解下……還有,Visual Studio的替代品,做fpga
    發(fā)表于 10-26 10:06

    如何尋找芯片IS61LV51216的替代品

    貼片,44腳的IS61LV51216是一個(gè)8M容量,結(jié)構(gòu)為512K*16位字長(zhǎng)的高速率SRAM,它的替代品有?碼庫(kù)網(wǎng)上沒(méi)查到呀?怎么去找呢?
    發(fā)表于 05-17 17:34

    MMBFJ176替代品??

    如題,需要尋找一個(gè)MMBFJ176替代品,用于保證電化學(xué)檢測(cè)器在斷電的情況下兩端電位不會(huì)偏差太大。附件為MMBFJ176規(guī)格書(shū),望大神回復(fù)下,謝謝!
    發(fā)表于 07-21 08:33

    IF增益可控放大IC,即MC1350的替代品

    MC1350是MOTO的IF AMPLIFIER,中頻增益自動(dòng)控制(AGC)芯片,但現(xiàn)在MOTO已經(jīng)停產(chǎn)了,故本人想找它的替代品或升級(jí)版,據(jù)說(shuō)MOTO 把MC1350授權(quán)給LANSDALE公司生產(chǎn)了(產(chǎn)品為ML1350),但價(jià)格翻了好幾倍,接受不了,不知有沒(méi)有知道替代品?
    發(fā)表于 08-22 14:10

    請(qǐng)問(wèn)儀表放大器AD624有沒(méi)有便宜的完全兼容的替代品?

    儀表放大器AD624有沒(méi)有便宜的完全兼容的替代品?市場(chǎng)上這個(gè)芯片有點(diǎn)貴,還不太好買(mǎi)到,想找兼容替代品,性能稍低點(diǎn)也可以,能滿足要求就行,求大神推薦,謝謝。
    發(fā)表于 01-23 09:27

    電解電容廉價(jià)替代方案(尋找紅寶石電容替代品

    大家好公司boss讓我論證一下紅寶石電解電容的替代,主要是為了降低成本。請(qǐng)問(wèn)這個(gè)器件有合適的替代品么,要做一些必要的驗(yàn)證么?多謝
    發(fā)表于 04-27 08:30

    是否有TDA2003的替代品

    是否有TDA2003的替代品,或者任何人都可以推薦類似的音頻放大器,可以驅(qū)動(dòng)低至1歐姆的負(fù)載? #TDA2003
    發(fā)表于 08-05 10:19

    如何使用ISP1763作為替代品?

    已經(jīng)過(guò)時(shí),ST-Ericson提供的下一個(gè)系列是ISP1763。 ISP1760采用128引腳配置,具有16地址線和32數(shù)據(jù)線。但新的ISP1763只是64引腳,有8個(gè)地址和32個(gè)數(shù)據(jù)引腳。我們?nèi)绾问褂肐SP1763作為替代品?這有什么替代方案嗎?-謝謝
    發(fā)表于 09-04 07:00

    Commodore 6540 ROM的替代品

    的 6540 ROM 芯片組的直接替代品。我發(fā)現(xiàn) D'Asaro 項(xiàng)目非常好且緊湊,但更難構(gòu)建。此外,他僅以 PCBexpress 格式發(fā)布該項(xiàng)目,無(wú)法將其導(dǎo)出到 Gerber。由于
    發(fā)表于 09-02 07:26

    MC908JL3ECDWE的替代品是什么?

    我正在尋找 8 位 MCU MC908JL3ECDWE 的替代品,因?yàn)椴唤ㄗh將其用于新設(shè)計(jì)(已過(guò)時(shí))。為了最大限度地減少工作量,我們希望減少對(duì) 28 引腳 SOIC 封裝的替換和簡(jiǎn)單的代碼更改
    發(fā)表于 06-05 06:17

    鈷鎳錳(三元)正極材料---鈷酸鋰的理想替代品

    鈷鎳錳(三元)正極材料---鈷酸鋰的理想替代品  鈷鎳錳(三元)正極材料---鈷酸鋰的理想替代品 產(chǎn)品特點(diǎn)
    發(fā)表于 10-29 11:59 ?2172次閱讀

    變速泵的更好電機(jī)替代品

    變速泵的更好電機(jī)替代品(視頻)
    的頭像 發(fā)表于 03-13 17:02 ?781次閱讀
    變速泵的更好電機(jī)<b class='flag-5'>替代品</b>

    CFP – SMx封裝的高效替代品

    CFP – SMx封裝的高效替代品
    的頭像 發(fā)表于 12-05 10:58 ?684次閱讀
    CFP – SMx封裝的高效<b class='flag-5'>替代品</b>
    RM新时代网站-首页