




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇編制: 桂雙林 日期: 2012年1月審核: 日期:批準(zhǔn): 日期:匯簽:Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇修訂記錄Tomcat 第1頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇目 錄3.33.44.45.4 背景 . 3 集群背景與發(fā)展 . 3 集群與云計(jì)算 . 4 TOMCAT集群原理 . 5 Tomcat集群組件 . 5 Tomcat集群結(jié)構(gòu) . 5 安裝運(yùn)行環(huán)境 . 6 準(zhǔn)備安裝軟件 . 6 安裝
2、Apache . 6 安裝Tomcat . 6 安裝JK組件 . 6 TOMCAT負(fù)載均衡 . 7 Tomcat端口配置 . 7 Apache配置 . 8 平均請(qǐng)求測(cè)試 . 10 邦定請(qǐng)求測(cè)試 . 12 TOMCAT集群 . 15 Apache配置 . 15 Tomcat配置 . 15 測(cè)試工程配置 . 16 集群之后測(cè)試 . 17 Tomcat 第2頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇1 背景群集技術(shù)與研究方向目前已非常成熟,本文不對(duì)集群技術(shù)再做詳細(xì)介紹,也不對(duì)集群中的服務(wù)器硬件、網(wǎng)絡(luò)適配器、第五層交換、第七層交換技術(shù)做講述,直接以WEB集群的例子來(lái)展現(xiàn)集
3、群技術(shù)的簡(jiǎn)單應(yīng)用。1.1 集群背景與發(fā)展本文的集群指WEB服務(wù)器集群,只是集群技術(shù)中很小的分支。隨著業(yè)務(wù)與需求的增長(zhǎng)WEB服務(wù)器訪問(wèn)量不斷的增加,客戶對(duì)產(chǎn)品的負(fù)載能力與穩(wěn)定性隨之提高,在單一WEB服務(wù)器的架構(gòu)中已經(jīng)難以達(dá)到用戶的需求,在進(jìn)一步提高產(chǎn)品的質(zhì)量外,需要尋求更可靠的技術(shù)支持。市場(chǎng)需要我們回答以下問(wèn)題在產(chǎn)品穩(wěn)定的情況下,如何面對(duì)不斷增長(zhǎng)的訪問(wèn)量?在現(xiàn)有硬件的基礎(chǔ)下,如何更進(jìn)一步發(fā)揮硬件的性能?WEB應(yīng)用突發(fā)停止后,如何保證繼續(xù)為客戶提供服務(wù)?在更換新版本系統(tǒng)時(shí),如果保證不間斷的提供服務(wù)?上面的問(wèn)題是在所有WEB系統(tǒng)開(kāi)發(fā)、運(yùn)行、維護(hù)過(guò)程中都會(huì)碰到的問(wèn)題。如果要解決這個(gè)問(wèn)題則首先要采用:W
4、EB服務(wù)器系統(tǒng)集群技術(shù)。系統(tǒng)集群在技術(shù)上還有很多問(wèn)題尚未解決,不過(guò),對(duì)于基本的WEB集成解決方案業(yè)界已經(jīng)有了成熟的技術(shù)。采用集群技術(shù)之后解決WEB服務(wù)器容量帶來(lái)的巨大挑戰(zhàn),服務(wù)器資源終究是有限的,大容量服務(wù)器對(duì)用戶來(lái)說(shuō)是一筆巨大的開(kāi)支,也無(wú)法保障原來(lái)的投入,同時(shí)也解決不了根本問(wèn)題。WEB系統(tǒng)集群技術(shù)為系統(tǒng)容量、擴(kuò)展問(wèn)題提供了良好的途徑,同時(shí)又能保護(hù)用戶的投資,它能把一組服務(wù)器通過(guò)一定形式組織起來(lái),對(duì)外提供強(qiáng)大的服務(wù)能力,也能在同一服務(wù)器上部署多個(gè)相同系統(tǒng)集群充分挖掘服務(wù)器的潛力。這種結(jié)構(gòu)具有很高的性價(jià)比和良好的可靠性,并且可以通過(guò)增加虛擬服務(wù)器與物理服務(wù)器的方式不斷的擴(kuò)充系統(tǒng)容量,因此,WEB
5、服務(wù)器集群已經(jīng)成為構(gòu)建大型網(wǎng)站系統(tǒng)的關(guān)鍵技術(shù)之一。 Tomcat 第3頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇1.2 集群與云計(jì)算集群是一個(gè)非常專業(yè)的學(xué)科,專業(yè)化的集群需要非常特殊的硬件與軟件支持,在復(fù)雜的集群中有些幾乎需要設(shè)置相同的硬件,并且運(yùn)行特殊的操作系統(tǒng)版本才能保證他們同步。如果在網(wǎng)絡(luò)底層進(jìn)行集群還需要使用特殊的網(wǎng)絡(luò)適配器來(lái)保證集群計(jì)算機(jī)的高速數(shù)據(jù)同步,要把不同地區(qū)的服務(wù)器集群還需要高速專用網(wǎng)絡(luò)的支持。數(shù)據(jù)同步方面,在集群WEB服務(wù)器時(shí)其中最典型的一點(diǎn)就是服務(wù)器間的Session同步問(wèn)題。集群對(duì)各種條件要求比較高,它能實(shí)現(xiàn)高可用性,高穩(wěn)定性,虛擬存儲(chǔ)管理
6、,服務(wù)器故障平滑轉(zhuǎn)移及災(zāi)難恢復(fù)等復(fù)雜的應(yīng)用,但是復(fù)雜的集群實(shí)現(xiàn)成本非常高,又難以對(duì)外提供商業(yè)化服務(wù)是阻礙其發(fā)展的重要原因。云計(jì)算是從集群技術(shù)、網(wǎng)絡(luò)計(jì)算、分布式計(jì)算等技術(shù)發(fā)展起來(lái)的一種新應(yīng)用服務(wù)形式,是建立在原來(lái)的基礎(chǔ)之上隔離了集群技術(shù)的復(fù)雜性,直接以服務(wù)的形式交付給客戶使用。從應(yīng)用上來(lái)說(shuō)云是位于集群、分布式技術(shù)等等的上層,它把硬件、軟件、操作系統(tǒng)與用戶隔離,用戶看到的只是公開(kāi)的網(wǎng)絡(luò)服務(wù)、是可選擇的網(wǎng)絡(luò)商品,不需要了解背后采用什么技術(shù)、使用什么操作系統(tǒng)等等。隔離了復(fù)雜技術(shù)的云計(jì)算,重點(diǎn)關(guān)注的是對(duì)外提供高質(zhì)量的商業(yè)服務(wù)。Tomcat 第4頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之T
7、omcat篇2 TOMCAT集群原理2.1 Tomcat集群組件操作系統(tǒng):WindowsHttp服務(wù)器:ApacheApache模塊:Mod_JKWeb服務(wù)器:Tomcat2.2 Tomcat集群結(jié)構(gòu)Tomcat 第5頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇3 安裝運(yùn)行環(huán)境3.1 準(zhǔn)備安裝軟件操作系統(tǒng):windows(本文只測(cè)試了windows環(huán)境)Http服務(wù)器:Apache 版本為httpd-2.2.21-win32-x86-openssl-0.9.8r.msi,下載地址Apache模塊:Mod_JK 版本為mod_jk-1.2.31-httpd-2.2.3
8、.so,下載地址 注意下載版本JK后所注明的http服務(wù)器版本一定要與 Apache版本相同或相近。Web服務(wù)器:Tomcat版本這里采用 Tomcat5.0.28是比較老的版本,也可以采用 5.5.X或6.X等新版本,下載地址 / 下載壓縮版,這樣便于復(fù)制安裝。3.2 安裝Apache下載完成之后,運(yùn)行程序安裝Apache,只要按默認(rèn)設(shè)置進(jìn)行安裝即可,安裝位置可以自己選擇,本文安裝目錄為:D:Program FilesApache Software FoundationApache2.2。默認(rèn)安配置裝的Apache是 80端口為HTTP端口。3.
9、3 安裝Tomcat本文要集群三個(gè)獨(dú)立的Tomcat,所以把下載后的壓縮包解壓后復(fù)制三份到不同目錄,本文目錄為:D:Tomcat5.0_8080; D:Tomcat5.0_8081 ; D:Tomcat5.0_8082 。3.4 安裝JK組件以本文為例把JK組件包mod_jk-1.2.31-httpd-2.2.3.so復(fù)制到Apache目錄D:Program FilesApache Software FoundationApache2.2modules 下。Tomcat 第6頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇4 TOMCAT負(fù)載均衡4.1 Tomcat端口
10、配置安裝環(huán)境之后,本文中Apache服務(wù)器要與3個(gè)Tomcat進(jìn)行集成,為方便測(cè)試3個(gè)Tomcat都運(yùn)行在同一臺(tái)機(jī)器上,為了解決Tomcat端口沖突問(wèn)題必須重新進(jìn)行設(shè)置,端口分配如下表:如果三臺(tái)服務(wù)器運(yùn)行在不同的電腦中則不需要修改。找到Tomcat配置文件修改端口,Tomcat配置文件目錄為T(mén)omcat5.0confserver.xml依次修改D:Tomcat5.0_8080 , D:Tomcat5.0_8081 , D:Tomcat5.0_8082中的配置文件,用記事本打開(kāi)文件直接采用查找替換方式,按上表把原來(lái)的四個(gè)端口修改成新值。注意事項(xiàng):server.xml 配置文件中proxy 的80
11、20端口內(nèi)容是被注釋掉的,需要去掉注釋。 完成修改后,測(cè)試運(yùn)行3個(gè)Tomcat如下圖:Tomcat第7頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇正常啟動(dòng)后,請(qǐng)注意各服務(wù)器的端口是不是正確的配置,如果沒(méi)問(wèn)題,則這部分配置順利完成。4.2 Apache配置1 找到Apache服務(wù)器配置文件D:Program FilesApache Software FoundationApache2.2confhttpd.conf2 用記事本打開(kāi)httpd.conf文件,在最后增加一行代碼:Include conf/mod-jk.conf3 在httpd.conf文件同目錄下創(chuàng)建mo
12、d-jk.conf 文件,全部代碼如下:#加載mod_jk模塊,注意名稱與modules目錄下的文件名保持一致.LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so#指定perties文件目錄.JkWorkersFile conf/perties#指定那些請(qǐng)求交給tomcat處理,controller為pertise文件里指定的負(fù)載控制器. JkMount /* controller#JkMount /*.html controller#JkMount /*.jsp
13、controller#JkMount /*.do controllerJkMount /servlet/* controller#JkUnMount /index.html controller#關(guān)掉主機(jī)Lookup, 如果為on很影響性能.HostnameLookups Off4 在httpd.conf文件同目錄下創(chuàng)建pertise 文件,全部代碼如下:Tomcat 第8頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇worker.list=controller,tomcat1,tomcat2,tomcat3 #server群集列表,tomcat
14、名稱與Tomcat配置Service.xml的jvmRoute名稱一致#=tomcat1=worker.tomcat1.port=8020 #指定 tomcat1 服務(wù)器 AJP 的端口,默認(rèn)為8009worker.tomcat1.host=localhost #指定 tomcat1 服務(wù)器IP 或域名worker.tomcat1.type=ajp13 #指定 tomcat1與apache AJP通訊協(xié)議worker.tomcat1.lbfactor=1 #指定負(fù)載平衡因數(shù),只有啟用了負(fù)載平衡才有用.#=tomcat2=worker.tomcat2.port=8021 #指定 tomcat2
15、服務(wù)器 AJP 的端口,默認(rèn)為8009worker.tomcat2.host=localhost #指定 tomcat2 服務(wù)器IP 或域名worker.tomcat2.type=ajp13 #指定 tomcat2與apache AJP通訊協(xié)議worker.tomcat2.lbfactor=1 #指定負(fù)載平衡因數(shù),只有啟用了負(fù)載平衡才有用.#=tomcat3=worker.tomcat3.port=8022 #指定 tomcat3 服務(wù)器 AJP 的端口,默認(rèn)為8009worker.tomcat3.host=localhost #指定 tomcat3 服務(wù)器IP 或域名worker.tomca
16、t3.type=ajp13 #指定 tomcat3與apache AJP通訊協(xié)議worker.tomcat3.lbfactor=1 #指定負(fù)載平衡因數(shù),只有啟用了負(fù)載平衡才有用.#=controller 負(fù)載平衡控制器=worker.controller.type=lb #指定 controller 類型worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3 #指定負(fù)載平衡的tomcat worker.controller.sticky_session=true #指定是否粘性 sessionworker.controller.st
17、icky_session_force=false# session 配置說(shuō)明:#當(dāng)sticky_session,sticky_session_force都為true時(shí)不復(fù)制session,#sticky_session_force=false 指集群中某臺(tái)服務(wù)器多次請(qǐng)求沒(méi)有響應(yīng), 則轉(zhuǎn)發(fā)到其它服務(wù)器處理,Tomcat 第9頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇#sticky_session=false 不使用粘性session,同時(shí)配置不復(fù)制session時(shí), 注意轉(zhuǎn)發(fā)請(qǐng)求后可能會(huì)找不到原來(lái)的session.完成后啟動(dòng)Apache 在狀態(tài)欄中可看到已集成 JK
18、模塊,如圖所示:雖然已經(jīng)看到集成了JK模塊,但是還不知道是不是順利完成了負(fù)載均衡配置,下面我們進(jìn)行測(cè)試。4.3 平均請(qǐng)求測(cè)試確保上述步驟操作正確后,接下來(lái)部署一下工程進(jìn)行測(cè)試。1 部署一個(gè)test測(cè)試工程假設(shè)大家都知道部署。2 編寫(xiě)一個(gè)jsp測(cè)試頁(yè)在test工程的根目錄新建一個(gè)test.jsp測(cè)試文件,全部代碼如下:<% page language="java" contentType="text/html;charset=UTF-8"%><% /應(yīng)用程序地址.String sId =request.getSession().getId
19、();String path = request.getContextPath();Tomcat 第10頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇String basePath =request.getScheme()+":/"+request.getServerName()+":"+request.getServerPort()+path; /應(yīng)用程序物理目錄.String appPath = request.getSession().getServletContext().getRealPath("/"
20、;);System.out.println(appPath+" -Test JSP-");%><html><head><title>測(cè)試JSP頁(yè)面</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body><form method="POST" action="" name=&quo
21、t;form1"><table width="100%" border="1" cellspacing="2" cellpadding="3"><tr><th>測(cè)試JSP頁(yè)面:</th></tr></table><table width="100%" border="1" cellspacing="2" cellpadding="3">&
22、lt;tr><th>名稱:</th> <th>內(nèi)容:</th></tr><tr><td>首頁(yè)地址:</td> <td><%=basePath%></a></td></tr><tr><td>WEB程序目錄:</td> <td><%=appPath%></td></tr><tr><td>Session Id</td> &
23、lt;td><%=sId%></td></tr><tr><td></td> <td></td></tr></table></body></html>3 依次啟動(dòng)Apache,Tomcat1,Tomcat3,Tomcat3訪問(wèn)測(cè)試頁(yè) http:/localhost/test/test.jsp 顯示如下圖。Tomcat 第11頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇對(duì)測(cè)試頁(yè)進(jìn)行多次訪問(wèn),本例測(cè)試訪問(wèn)6次,每次檢查3個(gè)T
24、omcat服務(wù)器的控制臺(tái)窗口,發(fā)現(xiàn)一個(gè)現(xiàn)象:如果第一次訪問(wèn)是Tomcat1,第二次變?yōu)門(mén)omcat2,第三次則是Tomcat3,第四次又回到Tomcat1,3個(gè)服務(wù)器是進(jìn)行輪流處理請(qǐng)求,現(xiàn)在已經(jīng)實(shí)現(xiàn)了負(fù)載均衡的目的。現(xiàn)在已經(jīng)完成3個(gè)WEB服務(wù)器負(fù)載均衡配置,并且3個(gè)服務(wù)器是平均分配用戶請(qǐng)求。4.4 邦定請(qǐng)求測(cè)試邦定請(qǐng)求方式,就是定義首次請(qǐng)求的服務(wù)器為最高優(yōu)先分配,只要客戶沒(méi)有關(guān)閉IE,以后每一Tomcat 第12頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇次請(qǐng)求都交給同一服務(wù)器處理。這樣做的好處是用戶只需登錄一次,以后都是同一服務(wù)器處理,登錄Session沒(méi)有改變,
25、不需要進(jìn)行再次登錄。打開(kāi)server.xml 找到如圖中配置:<Engine name="Catalina" defaultHost="localhost" debug="0"> 修改成:<Engine name="Catalina" defaultHost="localhost" debug="0" jvmRoute="tomcat1"> 結(jié)果如圖。測(cè)試的三個(gè)服務(wù)器的jvmRoute配置名稱不能相同,請(qǐng)按下表修改。配置完成后,依次
26、啟動(dòng)Apache,Tomcat1,Tomcat3,Tomcat3訪問(wèn)測(cè)試頁(yè) http:/localhost/test/test.jsp 注意:Tomcat1,Tomcat3,Tomcat3 的名稱在必須與 pertise文件里的名稱配對(duì)。第一次訪問(wèn)如下圖,SessionId與前面的不一樣,在后面增加了Tomcat1的名稱:第二次訪問(wèn)如下圖,明顯可以看出是訪問(wèn)同一服務(wù)器,并且SessionId都相同:Tomcat 第13頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇經(jīng)過(guò)測(cè)試,在沒(méi)有關(guān)閉IE的情況下多次訪問(wèn)都是提交給同一服務(wù)器處理,并且Session
27、Id保持不變,其它的服務(wù)器沒(méi)有接到請(qǐng)求,請(qǐng)看Tomcat1后臺(tái)窗口:為了驗(yàn)證多用戶情況,又重新打開(kāi)一個(gè)新的IE,發(fā)現(xiàn)新IE請(qǐng)求交給了Tomcat2處理,并且新IE多次刷新請(qǐng)求后,仍然是交給Tomcat2處理。到現(xiàn)在Tomcat負(fù)載均衡配置已順利完成,下面講述怎么樣把這三個(gè)獨(dú)立的WEB服務(wù)器進(jìn)行集群。Tomcat 第14頁(yè),共18頁(yè)Web服務(wù)器基于 Apache集群與負(fù)載均衡之Tomcat篇5 TOMCAT集群雖然上面已經(jīng)完成了負(fù)載均衡,但是三個(gè)服務(wù)器還是獨(dú)立工作,沒(méi)有形成一個(gè)整體,他們之間沒(méi)有同步數(shù)據(jù),基本的Session也沒(méi)有復(fù)制,如果其中一個(gè)服務(wù)器關(guān)閉,請(qǐng)求會(huì)轉(zhuǎn)發(fā)到另一個(gè)活動(dòng)的服務(wù)器,新的
28、服務(wù)器是沒(méi)有原來(lái)的Session數(shù)據(jù),客戶必須再次登錄,這種情況不能在實(shí)際應(yīng)用發(fā)生,要解決這個(gè)問(wèn)題,需要用到Web服務(wù)器集群來(lái)實(shí)現(xiàn)Session在所有服務(wù)器上同步復(fù)制。5.1 Apache配置在上一節(jié)中Apache基本已經(jīng)配置完成,這里不需要再修改,最主要的是配置 pertise 文件,這里只對(duì)重要的部分進(jìn)行說(shuō)明。配置是否使用粘性 Session的選項(xiàng):worker.controller.sticky_session。類似幫定,指某web服務(wù)器產(chǎn)生的Session,在下次客戶用相同Session再訪問(wèn)服務(wù)器時(shí)仍然轉(zhuǎn)發(fā)到相同的web服務(wù)器(必須指定好web服務(wù)器路由配置才行,就是配置jvmRou
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 東莞正規(guī)購(gòu)房合同范本
- 公司用車租賃合同范本
- 加入合作社合同范本
- 儲(chǔ)蓄存款合同范本
- 關(guān)于旅游合作合同范本
- 分包價(jià)格合同范本
- 養(yǎng)雞養(yǎng)殖服務(wù)合同范本
- 書(shū)寫(xiě)墻體大字合同范本
- 勞務(wù)合同范本工人
- 保時(shí)捷卡宴保護(hù)膜施工方案
- 北京2024年北京市測(cè)繪設(shè)計(jì)研究院面向應(yīng)屆生招聘筆試歷年參考題庫(kù)附帶答案詳解
- 2025上半年江蘇省南通如東事業(yè)單位招聘7人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 走進(jìn)李白校本 課程設(shè)計(jì)
- 2025新人教版英語(yǔ)七年級(jí)下單詞默寫(xiě)單(小學(xué)部分)
- 山東省濟(jì)南市2024-2024學(xué)年高三上學(xué)期1月期末考試 地理 含答案
- 2025年春新冀教版英語(yǔ)三年級(jí)下冊(cè)全冊(cè)教學(xué)課件
- 2024銀行從業(yè)資格個(gè)人貸款教材
- 藥品注冊(cè)管理辦法課件
- “守紀(jì)律、講規(guī)矩、轉(zhuǎn)作風(fēng)、提效能”思想紀(jì)律作風(fēng)整頓學(xué)習(xí)心得體會(huì)
- 2024-2030年中國(guó)自動(dòng)光學(xué)檢測(cè)儀(AOI)市場(chǎng)競(jìng)爭(zhēng)格局與前景發(fā)展策略分析報(bào)告
- 2024-2025學(xué)年人教版數(shù)學(xué)八年級(jí)上冊(cè)期末模擬試卷
評(píng)論
0/150
提交評(píng)論