dubbo基礎(chǔ)功能介紹與使用_第1頁(yè)
dubbo基礎(chǔ)功能介紹與使用_第2頁(yè)
dubbo基礎(chǔ)功能介紹與使用_第3頁(yè)
dubbo基礎(chǔ)功能介紹與使用_第4頁(yè)
dubbo基礎(chǔ)功能介紹與使用_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Dubbo基礎(chǔ)培訓(xùn)功能介紹與使用大綱Dubbo簡(jiǎn)單介紹Dubbo-RPC基本功能Dubbo-RPC高級(jí)功能(省略)Dubbo如何使用第2頁(yè)/共37頁(yè)Dubbo背景單一應(yīng)用架構(gòu)當(dāng)網(wǎng)站流量很小時(shí),只需一個(gè)應(yīng)用,將所有功能都部署在一起,以減少部署節(jié)點(diǎn)和成本。此時(shí),用于簡(jiǎn)化增刪改查工作量的數(shù)據(jù)訪問(wèn)框架(ORM)是關(guān)鍵。垂直應(yīng)用架構(gòu)當(dāng)訪問(wèn)量逐漸增大,單一應(yīng)用增加機(jī)器帶來(lái)的加速度越來(lái)越小,將應(yīng)用拆成互不相干的幾個(gè)應(yīng)用,以提升效率。此時(shí),用于加速前端頁(yè)面開(kāi)發(fā)的Web框架(MVC)

是關(guān)鍵。分布式服務(wù)架構(gòu)當(dāng)垂直應(yīng)用越來(lái)越多,應(yīng)用之間交互不可避免,將核心業(yè)務(wù)抽取出來(lái),作為獨(dú)立的服務(wù),逐漸形成穩(wěn)定的服務(wù)中心,使前端應(yīng)用能更快速的響應(yīng)多變的市場(chǎng)需求。此時(shí),用于提高業(yè)務(wù)復(fù)用及整合的分布式服務(wù)框架(RPC)是關(guān)鍵。流動(dòng)計(jì)算架構(gòu)當(dāng)服務(wù)越來(lái)越多,容量的評(píng)估,小服務(wù)資源的浪費(fèi)等問(wèn)題逐漸顯現(xiàn),此時(shí)需增加一個(gè)調(diào)度中心基于訪問(wèn)壓力實(shí)時(shí)管理集群容量,提高集群利用率。此時(shí),用于提高機(jī)器利用率的資源調(diào)度和治理中心(SOA)是關(guān)鍵。第3頁(yè)/共37頁(yè)Dubbo是什么Dubbo是一個(gè)分布式服務(wù)框架,致力于提供高性能和透明化的RPC遠(yuǎn)程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案?;谧?cè)中心模式實(shí)現(xiàn)RPC遠(yuǎn)程服務(wù)調(diào)用,告別WebService模式。其核心部分包含:遠(yuǎn)程通訊:提供對(duì)多種基于長(zhǎng)連接的NIO框架抽象封裝,包括多種線程模型,序列化,以及“請(qǐng)求-響應(yīng)”模式的信息交換方式。集群容錯(cuò):提供基于接口方法的透明遠(yuǎn)程過(guò)程調(diào)用,包括多協(xié)議支持,以及軟負(fù)載均衡,失敗容錯(cuò),地址路由,動(dòng)態(tài)配置等集群支持。自動(dòng)發(fā)現(xiàn):基于注冊(cè)中心目錄服務(wù),使服務(wù)消費(fèi)方能動(dòng)態(tài)的查找服務(wù)提供方,使地址透明,使服務(wù)提供方可以平滑增加或減少機(jī)器。第4頁(yè)/共37頁(yè)Dubbo如何使用本地服務(wù)遠(yuǎn)程服務(wù)<beanid=“xxxService”class=“com.xxx.XxxServiceImpl”/><beanid=“xxxAction”class=“com.xxx.XxxAction”>

<propertyname=“xxxService”ref=“xxxService”/></bean><beanid=“xxxService”class=“com.xxx.XxxServiceImpl”/><!--和本地服務(wù)一樣實(shí)現(xiàn)遠(yuǎn)程服務(wù)--><dubbo:serviceinterface=“com.xxx.XxxService”ref=“xxxService”/><!--增加暴露遠(yuǎn)程服務(wù)配置--><dubbo:referenceid=“xxxService”interface=“com.xxx.XxxService”/><!--增加引用遠(yuǎn)程服務(wù)配置-->

<beanid=“xxxAction”class=“com.xxx.XxxAction”><!--和本地服務(wù)一樣使用遠(yuǎn)程服務(wù)-->

<propertyname=“xxxService”ref=“xxxService”/></bean>服務(wù)提供方:服務(wù)消費(fèi)方:第5頁(yè)/共37頁(yè)Dubbo架構(gòu)調(diào)用關(guān)系說(shuō)明:0.服務(wù)容器負(fù)責(zé)啟動(dòng),加載,運(yùn)行服務(wù)提供者。1.服務(wù)提供者在啟動(dòng)時(shí),向注冊(cè)中心注冊(cè)自己提供的服務(wù)。2.服務(wù)消費(fèi)者在啟動(dòng)時(shí),向注冊(cè)中心訂閱自己所需的服務(wù)。3.注冊(cè)中心返回服務(wù)提供者地址列表給消費(fèi)者,如果有變更,注冊(cè)中心將基于長(zhǎng)連接推送變更數(shù)據(jù)給消費(fèi)者。4.服務(wù)消費(fèi)者,從提供者地址列表中,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用,如果調(diào)用失敗,再選另一臺(tái)調(diào)用。5.服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心。節(jié)點(diǎn)角色說(shuō)明:Provider:

暴露服務(wù)的服務(wù)提供方。Consumer:

調(diào)用遠(yuǎn)程服務(wù)的服務(wù)消費(fèi)方。Registry:

服務(wù)注冊(cè)與發(fā)現(xiàn)的注冊(cè)中心。Monitor:

統(tǒng)計(jì)服務(wù)的調(diào)用次調(diào)和調(diào)用時(shí)間的監(jiān)控中心。Container:

服務(wù)運(yùn)行容器。第6頁(yè)/共37頁(yè)Dubbo基本原理第7頁(yè)/共37頁(yè)Dubbo優(yōu)缺點(diǎn)優(yōu)點(diǎn):1、使用簡(jiǎn)單方便2、統(tǒng)一的服務(wù)調(diào)用地址3、能進(jìn)行軟負(fù)載均衡,降低對(duì)F5硬件負(fù)載均衡器的依賴(lài),也能減少部分成本4、連通性:注冊(cè)中心,服務(wù)提供者,服務(wù)消費(fèi)者三者之間均為長(zhǎng)連接,監(jiān)控中心除外注冊(cè)中心和監(jiān)控中心全部宕機(jī),不影響已運(yùn)行的提供者和消費(fèi)者,消費(fèi)者在本地緩存了提供者列表注冊(cè)中心和監(jiān)控中心都是可選的,服務(wù)消費(fèi)者可以直連服務(wù)提供者5、健壯性:監(jiān)控中心宕掉不影響使用,只是丟失部分采樣數(shù)據(jù)注冊(cè)中心對(duì)等集群,任意一臺(tái)宕掉后,將自動(dòng)切換到另一臺(tái)注冊(cè)中心全部宕掉后,服務(wù)提供者和服務(wù)消費(fèi)者仍能通過(guò)本地緩存通訊服務(wù)提供者無(wú)狀態(tài),任意一臺(tái)宕掉后,不影響使用服務(wù)提供者全部宕掉后,服務(wù)消費(fèi)者應(yīng)用將無(wú)法使用,并無(wú)限次重連等待服務(wù)提供者恢復(fù)缺點(diǎn):只支持JAVA語(yǔ)言第8頁(yè)/共37頁(yè)Dubbo-RPC基本功能篇

SOA因你而簡(jiǎn)單第9頁(yè)/共37頁(yè)Dubbo-RPC基本功能配置配置繼承可配置可編程Gracefulshutdown優(yōu)雅停機(jī)多注冊(cè)中心注冊(cè)中心集群多協(xié)議不同服務(wù)不同協(xié)議同一服務(wù)多協(xié)議本地服務(wù)調(diào)用集群&容錯(cuò)集群原理容錯(cuò)規(guī)則服務(wù)匹配服務(wù)分組、多版本指定調(diào)用只訂閱第10頁(yè)/共37頁(yè)基本功能-配置繼承圖中以timeout為例,顯示了配置的查找順序,其它retries,loadbalance,actives等類(lèi)似。方法級(jí)優(yōu)先,接口級(jí)次之,全局配置再次之。如果級(jí)別一樣,則消費(fèi)方優(yōu)先,提供方次之。建議由服務(wù)提供方設(shè)置超時(shí),因?yàn)橐粋€(gè)方法需要執(zhí)行多長(zhǎng)時(shí)間,服務(wù)提供方更清楚,如果一個(gè)消費(fèi)方同時(shí)引用多個(gè)服務(wù),就不需要關(guān)心每個(gè)服務(wù)的超時(shí)設(shè)置。第11頁(yè)/共37頁(yè)基本功能-可編程可配置-暴露服務(wù)第12頁(yè)/共37頁(yè)基本功能-可編程可配置-引用服務(wù)第13頁(yè)/共37頁(yè)基本功能-服務(wù)分組當(dāng)一個(gè)接口有多種實(shí)現(xiàn)時(shí),可以用group區(qū)分<dubbo:servicegroup="feedback"interface="com.xxx.IndexService"/><dubbo:servicegroup="member"interface="com.xxx.IndexService"/><!–總是只調(diào)一個(gè)可用組的實(shí)現(xiàn)--><dubbo:referenceid="barService"interface="com.foo.BarService"group="*"/>服務(wù)消費(fèi)方:<dubbo:referenceid="feedbackIndexService"group="feedback"interface="com.xxx.IndexService"/><dubbo:referenceid="memberIndexService"group="member"interface="com.xxx.IndexService"/>服務(wù)提供方:第14頁(yè)/共37頁(yè)基本功能-多版本當(dāng)一個(gè)接口實(shí)現(xiàn),出現(xiàn)不兼容升級(jí)時(shí),可以用版本號(hào)過(guò)渡,版本號(hào)不同的服務(wù)相互間不引用<dubbo:serviceinterface="com.foo.BarService"version="1.0.0"/><dubbo:serviceinterface="com.foo.BarService"version="2.0.0"/><!–不區(qū)分版本--><dubbo:referenceid="barService"interface="com.foo.BarService"version="*"/>服務(wù)提供方:服務(wù)消費(fèi)方:<dubbo:referenceid="barService"interface="com.foo.BarService"version="1.0.0"/><dubbo:referenceid="barService"interface="com.foo.BarService"version="2.0.0"/>第15頁(yè)/共37頁(yè)基本功能-指定調(diào)用在開(kāi)發(fā)及測(cè)試環(huán)境下,經(jīng)常需要繞過(guò)注冊(cè)中心,只測(cè)試指定服務(wù)提供者,這時(shí)候可能需要點(diǎn)對(duì)點(diǎn)直連。點(diǎn)對(duì)點(diǎn)直聯(lián)方式,將以服務(wù)接口為單位,忽略注冊(cè)中心的提供者列表。A接口配置點(diǎn)對(duì)點(diǎn),不影響B(tài)接口從注冊(cè)中心獲取列表。注意:為了避免復(fù)雜化線上環(huán)境,不要在線上使用這個(gè)功能,只應(yīng)在測(cè)試階段使用。第16頁(yè)/共37頁(yè)基本功能-只訂閱共用注冊(cè)中心,開(kāi)發(fā)人員機(jī)器上的服務(wù)提供者被誤調(diào),影響其他開(kāi)發(fā)人員(開(kāi)發(fā)、測(cè)試環(huán)境)<dubbo:registryregister=“false”/>第17頁(yè)/共37頁(yè)基本功能-集群&容錯(cuò)負(fù)載均衡算法:第18頁(yè)/共37頁(yè)基本功能-集群&容錯(cuò)集群容錯(cuò)方式:第19頁(yè)/共37頁(yè)基本功能-多協(xié)議數(shù)據(jù)序列化格式:數(shù)據(jù)傳輸協(xié)議:網(wǎng)絡(luò)傳輸類(lèi)型:第20頁(yè)/共37頁(yè)基本功能-多協(xié)議不同服務(wù)不同協(xié)議比如:不同服務(wù)在性能上適用不同協(xié)議進(jìn)行傳輸,比如大數(shù)據(jù)用短連接協(xié)議,小數(shù)據(jù)大并發(fā)用長(zhǎng)連接協(xié)議。同一服務(wù)多協(xié)議比如:需要與http客戶(hù)端互操作<!--多協(xié)議配置--><dubbo:protocolname="dubbo"port="20880"/><dubbo:protocolname="rmi"port="1099"/><!--使用dubbo協(xié)議暴露服務(wù)--><dubbo:serviceinterface="com.alibaba.hello.api.HelloService"version="1.0.0"ref="helloService"protocol="dubbo"/><!--使用rmi協(xié)議暴露服務(wù)--><dubbo:serviceinterface="com.alibaba.hello.api.DemoService"version="1.0.0"ref="demoService"protocol="rmi"/><!--多協(xié)議配置--><dubbo:protocolname="dubbo"port="20880"/><dubbo:protocolname="hessian"port="8080"/>

<!--使用多個(gè)協(xié)議暴露服務(wù)--><dubbo:serviceid="helloService"interface="com.alibaba.hello.api.HelloService"version="1.0.0"protocol="dubbo,hessian"/>第21頁(yè)/共37頁(yè)基本功能-多注冊(cè)中心注冊(cè)中心:第22頁(yè)/共37頁(yè)基本功能-多注冊(cè)中心一個(gè)服務(wù)注冊(cè)到一個(gè)注冊(cè)中心,也可以注冊(cè)到多個(gè)注冊(cè)中心在實(shí)際應(yīng)用時(shí),可以針對(duì)服務(wù)做分類(lèi),有的服務(wù)注冊(cè)到多個(gè)注冊(cè)中心,有的服務(wù)可能只需注冊(cè)到一個(gè)注冊(cè)中心。<!--多注冊(cè)中心配置--><dubbo:registryid="hangzhouRegistry"address="50:9090"/><dubbo:registryid="qingdaoRegistry"address="51:9010"default="false"/>

<!--向多個(gè)注冊(cè)中心注冊(cè)--><dubbo:serviceinterface="com.alibaba.hello.api.HelloService"version="1.0.0"ref="helloService"registry="hangzhouRegistry,qingdaoRegistry"/><!--向一個(gè)注冊(cè)中心注冊(cè)--><dubbo:serviceinterface="com.alibaba.hello.api.DemoService"version="1.0.0"ref="demoService"registry="hangzhouRegistry"/><!--多注冊(cè)中心配置--><dubbo:registryid="hangzhouRegistry"address="50:9090"/><dubbo:registryid="qingdaoRegistry"address="51:9010"default="false"/>

<!–引用的服務(wù)在多個(gè)注冊(cè)中心--><dubbo:referenceid=“helloService"interface="com.alibaba.hello.api.HelloService"version="1.0.0"registry="hangzhouRegistry,qingdaoRegistry"/><!–引用的服務(wù)在一個(gè)注冊(cè)中心--><dubbo:referenceid=“demoService"interface="com.alibaba.hello.api.DemoService"version="1.0.0"registry="hangzhouRegistry"/>第23頁(yè)/共37頁(yè)基本功能-Gracefulshutdown優(yōu)雅停機(jī)Dubbo是通過(guò)JDK的ShutdownHook來(lái)完成優(yōu)雅停機(jī)的,所以如果用戶(hù)使用"kill-9PID"等強(qiáng)制關(guān)閉指令,是不會(huì)執(zhí)行優(yōu)雅停機(jī)的,只有通過(guò)"killPID"時(shí),才會(huì)執(zhí)行。第24頁(yè)/共37頁(yè)Dubbo如何使用

SOA因你而簡(jiǎn)單第25頁(yè)/共37頁(yè)依賴(lài)必須依賴(lài):JDK1.5+缺省依賴(lài):log4j.jar和commons-logging.jar日志輸出包。javassist.jar字節(jié)碼生成。如果<dubbo:providerproxy="jdk"/>或<dubbo:consumerproxy="jdk"/>,以及<dubbo:applicationcompiler="jdk"/>,則不需要。spring.jar配置解析。如果用ServiceConfig和ReferenceConfig的API調(diào)用,則不需要。netty.jar網(wǎng)絡(luò)傳輸。如果<dubbo:protocolserver="mina"/>或<dubbo:protocolserver="grizzly"/>,則換成mina.jar或grizzly.jar。如果<protocolname="rmi"/>,則不需要。第26頁(yè)/共37頁(yè)Zookeeper集群安裝與配置1、下載安裝包:/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz2、解壓安裝包到${ZOOKEEPER_HOME}/server1/zookeeper-3.4.6目錄3、進(jìn)入${ZOOKEEPER_HOME}/server1/zookeeper-3.4.6/conf中創(chuàng)建一個(gè)zoo.cfg文件,其中內(nèi)容如下:tickTime=2000initLimit=5syncLimit=2dataDir=D:/home/programFiles/zookeeper/server1/datadataLogDir=D:/home/programFiles/zookeeper/server1/dataLogclientPort=2181server.1=:2888:3888server.2=:2889:3889server.3=:2890:38904、在${ZOOKEEPER_HOME}/server1目錄下增加data、dataLog兩個(gè)目錄,data目錄下增加一個(gè)名為myid的文件(文件中的值為集群節(jié)點(diǎn)的唯一標(biāo)識(shí),與zoo.cfg文件中的server.X對(duì)應(yīng)),myid的文件內(nèi)容如下:15、對(duì)${ZOOKEEPER_HOME}/server1目錄復(fù)制2份為:${ZOOKEEPER_HOME}/server2${ZOOKEEPER_HOME}/server36、對(duì)server2、server3目錄下的zoo.cfg和myid兩個(gè)文件做修改,修改內(nèi)容為上面第3、4步中紅色部分7、啟動(dòng)腳本為:

${ZOOKEEPER_HOME}/server1/zookeeper-3.4.6/bin/zkServer.cmd${ZOOKEEPER_HOME}/server2/zookeeper-3.4.6/bin/zkServer.cmd${ZOOKEEPER_HOME}/server3/zookeeper-3.4.6/bin/zkServer.cmd第27頁(yè)/共37頁(yè)工程構(gòu)建-pom.xml1、使用Zookeeper做注冊(cè)中心2、服務(wù)提供方和消費(fèi)方均需引入test_dubbo_api工程第28頁(yè)/共37頁(yè)Eclipse工程test_dubbo_api:服務(wù)接口API工程test_dubbo_provider:服務(wù)提供方工程Test_dubbo_consumer:服務(wù)消費(fèi)方工程第29頁(yè)/共37頁(yè)工程構(gòu)建-服務(wù)接口API工程packagecom.tydic.dubbo;publicinterfaceLoginService{/***登錄*@paramusername*/voidlogin(Stringusername);}//LoginService.java:第30頁(yè)/共37頁(yè)工程構(gòu)建-服務(wù)提供方工程packagecom.tydic.dubbo;importorg.springframework.stereotype.Service;@Service("loginService")publicclassLoginServiceImplimplementsLoginService{privatestaticintcount=0;publicvoidlogin(Stringusername){count++;System.out.println("第"

+count+"次調(diào)用login(),username="+username);}}//LoginServiceImpl.java:第31頁(yè)/共37頁(yè)工程構(gòu)建-服務(wù)提供方工程packagecom.tydic.dubbo;importorg.springframework.context.support.ClassPathXmlApplicationContext;publicclassProviderMain{publicstaticvoidmain(String[]args)throwsException{ClassPathXmlApplicationContextcontext=newClassPathXmlApplicationContext(newString[]{"spring-dubbo-provider.xml"});context.start();System.out.println("服務(wù)提供方啟動(dòng)完成");while(true){Thread.sleep(10000);}}}//ProviderMain.java:第32頁(yè)/共37頁(yè)工程構(gòu)建-服務(wù)提供方工程<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns:xsi="/2001/XMLSchema-instance"xmlns:jee="/schema/jee"xmlns:tx="/schema/tx"xmlns:dubbo="/schema/dubbo"xmlns:context="/schema/context"default-lazy-init="false"xmlns="/schema/beans"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.1.xsd/schema/tx/schema/tx/spring-tx-3.1.xsd/schema/jee/schema/jee/spring-jee-3.1.xsd/schema/dubbo/schema/dubbo/dubbo.xsd/schema/context/schema/context/spring-context-3.1.xsd"><!--提供方應(yīng)用信息,用于計(jì)算依賴(lài)關(guān)系--><dubbo:applicationname="test_dubbo_provider"/><!--在注冊(cè)中心暴露服務(wù)地址(zookeeper)--><dubbo:registryaddress="zookeeper://03:2181;zookeeper://03:2182;zookeeper://03:2183"check="false"register="true"subscribe="false"/><!--在注冊(cè)中心暴露服務(wù)地址(multicast)<dubbo:registryaddress="multicast://:1234"/>--><!--dubbo協(xié)議在20880端口暴露服務(wù),可省略--><dubbo:protocolname="dubbo"port="20880"/><!--提供方代理實(shí)現(xiàn)方式,可省略--><dubbo:providerproxy="jdk"/><!--消費(fèi)方代理實(shí)現(xiàn)方式,可省略--><dubbo:consumerproxy="jdk"/><!--配置注解掃描路徑--><context:component-scanbase-package="com.tydic.dubbo"/><!--聲明需要暴露的服務(wù)接口--><dubbo:serviceinterface="com.tydic.dubbo.LoginService"ref="loginService"/></beans>//spring-dubbo-provider.xml:第33頁(yè)/共37頁(yè)工程構(gòu)建-服務(wù)消費(fèi)方配置<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns:xsi="/2001/XMLSchema-instance"xmlns:jee="/schema/jee"xmlns:tx="/schema/tx"xmlns:dubbo="/schema/dubbo"xmlns:context="/schema/context"default-lazy-init="false"xmlns="/schema/beans"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.1.xsd/schema/tx/schema/tx/spring-tx-3.1.xsd/schema/jee/schema/jee/spring-jee-3.1.xsd/schema/dubbo/schema/dubbo/dubbo.xsd/schema/context/schema/context/spring-context-3.1.xsd"><!--消費(fèi)方應(yīng)用名,用于計(jì)算依賴(lài)關(guān)系,不是匹配條件,不要與提供方一樣--><dubbo:applicationname="test_dubbo_consumer"/><!--配置在注冊(cè)中心暴露的服務(wù)地址(zookeeper)--><dubbo:registryaddress="zookeeper://03:2181;zookeeper://03:2182;zookeeper://03:2183"check="false"subscribe="true"/><!--配置在注冊(cè)中心暴露的服務(wù)地址(multicast)<dubbo:registryaddress="multicast://:1234"/>--><!--提供方代理實(shí)現(xiàn)方式,可省略--><dubbo:providerproxy="jdk"/><!--消費(fèi)方代理實(shí)現(xiàn)方式,可省略--><dubbo:consumerproxy="jdk"/><!--配置注解掃描路徑--><context:component-scanbase-package="com.tydic.dubbo"/><!--要引用的遠(yuǎn)程服務(wù)代理。loadbalance:負(fù)載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機(jī),輪循,最少活躍調(diào)用--><dubbo:referenceinterface="com.tydic.dubbo.LoginService"id="loginService"loadbalance="random"/></beans>//sprin

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論