版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于SpringCloud和Netflix的微服務(wù)技術(shù)架構(gòu)基于Spring
Cloud和Netflix打造基于SpringCloud和Netflix的微服務(wù)技術(shù)架構(gòu)1Agenda談?wù)勎⒎?wù)微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)融數(shù)微服務(wù)架構(gòu)的核心概念和實(shí)現(xiàn)融數(shù)DevOps平臺(tái)對(duì)微服務(wù)的支撐技術(shù)團(tuán)隊(duì)的組織OperationExcellentAgenda談?wù)勎⒎?wù)2Agenda談?wù)勎⒎?wù)微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)融數(shù)微服務(wù)架構(gòu)的核心概念和實(shí)現(xiàn)融數(shù)DevOps平臺(tái)對(duì)微服務(wù)的支撐技術(shù)團(tuán)隊(duì)的組織OperationExcellentAgenda談?wù)勎⒎?wù)3從微服務(wù)的概念談起高度封裝松耦合獨(dú)立部署獨(dú)立擴(kuò)展應(yīng)用組件從微服務(wù)的概念談起高度封裝松耦合獨(dú)立部署獨(dú)立擴(kuò)展應(yīng)用組件4微服務(wù)與SOA的異同從設(shè)計(jì)原則來(lái)講,微服務(wù)架構(gòu)遵循SOAprinciples小的、可重用的服務(wù)并不一定是微服務(wù),微服務(wù)架構(gòu)強(qiáng)調(diào)敏捷、獨(dú)立開發(fā)、獨(dú)立部署、獨(dú)立擴(kuò)展,重用在某種程度上范圍影響敏捷性微服務(wù)架構(gòu)為了實(shí)現(xiàn)其敏捷特性,在SOA約束的基礎(chǔ)之上又添加了新的約束微服務(wù)之間不能互相依賴,因此要求微服務(wù)能夠獨(dú)立部署,獨(dú)立擴(kuò)展,微服務(wù)之間的依賴越少越好一個(gè)應(yīng)用只做一件事不要為外部應(yīng)用發(fā)布API,依賴通過service或者事件搞定最好通過異步事件交互每個(gè)應(yīng)用擁有自己獨(dú)立的數(shù)據(jù)微服務(wù)與SOA的異同從設(shè)計(jì)原則來(lái)講,微服務(wù)架構(gòu)遵循SOAp5采用微服務(wù)需要的一些前提條件沒有銀彈!微服務(wù)將單體應(yīng)用中的復(fù)雜性轉(zhuǎn)移到了應(yīng)用組件之間微服務(wù)粒度問題:如果粒度太細(xì),就需要一個(gè)編排服務(wù),其實(shí)退回到了小型的SOA架構(gòu)如果服務(wù)粒度過粗,就不利于獨(dú)立部署采用微服務(wù)之前,需要考慮如下幾點(diǎn)微服務(wù)架構(gòu)基礎(chǔ)組件:服務(wù)路由服務(wù)注冊(cè)和發(fā)現(xiàn)配置服務(wù)監(jiān)控事件溯源(event
sourcing)框架團(tuán)隊(duì)的敏捷成熟的如何,是否有足夠的DevOps經(jīng)驗(yàn)團(tuán)隊(duì)的數(shù)據(jù)管理方式是否滿足微服務(wù)的要求團(tuán)隊(duì)是否有非常強(qiáng)的架構(gòu)實(shí)踐能力采用微服務(wù)需要的一些前提條件沒有銀彈!微服務(wù)將單體應(yīng)用中的復(fù)6Agenda談?wù)勎⒎?wù)微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)融數(shù)微服務(wù)架構(gòu)的核心概念和實(shí)現(xiàn)融數(shù)DevOps平臺(tái)對(duì)微服務(wù)的支撐技術(shù)團(tuán)隊(duì)的組織OperationExcellentAgenda談?wù)勎⒎?wù)7微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)技術(shù)選型的考慮點(diǎn)社區(qū)熱度文檔多坑少比較容易找到人架構(gòu)成熟度方便開發(fā)方便遷移多協(xié)議支持多語(yǔ)言支持學(xué)習(xí)曲線基于成熟技術(shù)現(xiàn)有知識(shí)傳承可維護(hù)性監(jiān)控能力運(yùn)維能力微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)技術(shù)選型的考慮點(diǎn)社區(qū)熱度文檔多架8微服務(wù)技術(shù)選型過程功能點(diǎn)/服務(wù)框架備選方案Netflix/Spring
cloudMotangRPCThriftDubbo/DubboX功能定位完整的微服務(wù)框架RPC框架,但整合了ZK或Consul,實(shí)現(xiàn)集群環(huán)境的基本的服務(wù)注冊(cè)/發(fā)現(xiàn)RPC框架RPC框架服務(wù)框架支持Rest是Ribbon支持多種可插拔的序列化選擇否否否否支持RPC否是(Hession2)是是是支持多語(yǔ)言是(Rest形式)?否是是否服務(wù)注冊(cè)/發(fā)現(xiàn)是(Eureka)Eureka服務(wù)注冊(cè)表,Karyon服務(wù)端框架支持服務(wù)自注冊(cè)和健康檢查是(zookeeper/consul)否否是負(fù)載均衡是(服務(wù)端zuul+客戶端Ribbon)Zuul-服務(wù),動(dòng)態(tài)路由云端負(fù)載均衡
Eureka(針對(duì)中間層服務(wù)器)是(客戶端)否否是(客戶端)配置服務(wù)Netflix
ArchaiusSpring
cloud
Config
Server
集中配置是(zookeeper提供)否否否服務(wù)調(diào)用鏈監(jiān)控是(zuul)Zuul提供邊緣服務(wù),API網(wǎng)關(guān)否否否否高可用/容錯(cuò)是(服務(wù)端Hystrix+客戶端Ribbon)是(客戶端)否否是(客戶端)典型應(yīng)用案例NetflixSinaGoogleFacebook社區(qū)活躍程度高一般高一般已經(jīng)不維護(hù)了學(xué)習(xí)難度中等低高高低文檔豐富度高一般一般一般高其他Spring
Cloud
Bus為我們的應(yīng)用程支持降級(jí)Netflix內(nèi)部在開發(fā)集成gRPCIDL定義實(shí)踐的公司比較多微服務(wù)技術(shù)選型過程功能點(diǎn)/服務(wù)框架備選方案Netflix/S9微服務(wù)技術(shù)選型過程目前團(tuán)隊(duì)主要采用Spring
Boot
+
RestEasy的方式實(shí)現(xiàn)服務(wù)化首先支持rest現(xiàn)有業(yè)務(wù)代碼的遷移不希望改動(dòng)太大小團(tuán)隊(duì),希望能夠有一個(gè)比較全面的解決方案結(jié)論Netflix提供了比較全面的解決方案Spring
Cloud對(duì)于Netflix的封裝比較全面Spring
Cloud基于Spring
Boot,團(tuán)隊(duì)有基礎(chǔ)Spring
Cloud提供了Control
Bus能夠幫助實(shí)現(xiàn)監(jiān)控埋點(diǎn)業(yè)務(wù)應(yīng)用部署在阿里云,Spring
Cloud對(duì)12factors以及Cloud-Native的支持,有利于在云環(huán)境下使用微服務(wù)技術(shù)選型過程目前團(tuán)隊(duì)主要采用SpringBoot+10Agenda談?wù)勎⒎?wù)微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)融數(shù)微服務(wù)架構(gòu)的核心概念和實(shí)現(xiàn)融數(shù)DevOps平臺(tái)對(duì)微服務(wù)的支撐技術(shù)團(tuán)隊(duì)的組織OperationExcellentAgenda談?wù)勎⒎?wù)11微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)簡(jiǎn)化開發(fā)調(diào)用方便高性能可用性和安全方便使用,節(jié)約時(shí)間代碼生成Migration
tools膠水方便測(cè)試clientsexplorer文檔柔性設(shè)計(jì)多協(xié)議支持,方便新協(xié)議添加CachingContinuationsmetricsthrottlingload
sheddingauthentication微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)簡(jiǎn)化開發(fā)調(diào)用方便高性能可用性和安12Agenda談?wù)勎⒎?wù)微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)融數(shù)微服務(wù)架構(gòu)的核心概念和實(shí)現(xiàn)融數(shù)DevOps平臺(tái)對(duì)微服務(wù)的支撐技術(shù)團(tuán)隊(duì)的組織OperationExcellentAgenda談?wù)勎⒎?wù)13核心模型Envelopeconsum
erp
rod
ucer核心模型Envelopeconsumerproduce14核心模型}Envelopee=
…;//OpenEnvelopeCustomercustomer=
e.get(Customer.class);ProducerCustomercustomer=
…;//Sealin
envelopeEnvelopee=factory.newEnvelope();e.set(Customer.class,customer);ConsumerEnvelopeAPIpublicinterfaceEnvelopeextendsSerializable{public<T>voidset(Class<T>clazz,To);public<T>voidset(T
o);public<T>Tget(Class<T>clazz);public<T>T
get();…核心模型}Envelopee=…;//OpenEn15核心模型Shapes
(定義數(shù)據(jù)類型)SimpleListMapStructure核心模型Shapes(定義數(shù)據(jù)類型)16核心模型Traits
(定義Shaps的行為)<pattern
target=“l(fā)ocation”><regex
value=“[0-9]{5}(?:\-[0-9]{4})?”/></pattern><string
name=“l(fā)ocation”/>核心模型Traits(定義Shaps的行為)<patter17核心模型S
h
ap
eTraits/E
n
velo
p
e1**1**1S
h
ap
eS
im
p
leC
o
m
p
lexS
erviceTraitsId
em
p
o
ten
tTraitsE
xcep
tio
nTraitsF
au
ltTraitsJavaTraitsE
n
u
mTraitsS
erviceO
p
eratio
n1*In
p
u
tO
u
tp
u
tE
rro
rs1*0..10..1核心模型/Envelope1**1**1Idem18服務(wù)處理實(shí)現(xiàn)HandlersOrchestratorActivityEndpointClientActivityTransportProtocol服務(wù)處理實(shí)現(xiàn)HandlersOrchestratorActi19插件式EndPointNettyJettyAMPOrchestratorTomcatActivityEndpointClientHTTP/RPCONE
WAY插件式EndPointNettyJettyAMPOrches20Orchestrator重用HandlersOrchestratorTransportProtocolHandlersOrchestratorEndpointINTERNETProtocolTransportOrchestrator重用HandlersOrchestr21集成測(cè)試HandlersOrchestratorClientInterfaceMock
TransportProtocolHandlersOrchestratorMockEndpointActivityProtocolTransport集成測(cè)試HandlersOrchestratorClient22服務(wù)處理責(zé)任鏈Business
Logic服務(wù)處理責(zé)任鏈BusinessLogic23編寫并配置服務(wù)<beanid="ochestrator"
class="cn.rongcapital.msp.service.helper.OchestratorHelper"><constructor-arg><ref
bean="handlerChain"/></constructor-arg></bean><beanid="handlerChain"
class="cn.rongcapital.msp.service.helper.ChainHelper"><properties><list><bean
class="cn.rongcapital.msp.service.HttpHandler"/><bean
class="cn.rongcapital.msp.service.PintHandler"/><bean
class="cn.rongcapital.msp.service.ThrottlingHandler"/></list></properties></bean><beanid="server"
class="cn.rongcapital.msp.service.server.UndertowServer"><constructor-arg><beanclass="cn.rongcapital.msp.service.EndpoingConfig"><propertyname="metricsFactory"
ref="metricsFactory"/><propertyname="ochestrator"
ref="ochestrator"/><propertyname="uri"
ref=":8080"/></bean></constructor-arg></bean>編寫并配置服務(wù)<beanid="ochestrator"24Spring
Cloud遵循12
Factors模式Configuration
ManagementService
discoveryCircuitbreakersIntelligent
routingControlbusOne-timetokensGloballocksLeadership
electionDistributed
sessionsSpringCloud遵循12Factors25配置管理配置信息統(tǒng)一管理提供RESTfulAPI配置信息允許動(dòng)態(tài)變更支持多種數(shù)據(jù)類型的配置內(nèi)容分級(jí)配置將配置分為多個(gè)層級(jí):全局、系統(tǒng)、應(yīng)用、階段最終的配置集合,是所有層級(jí)的配置的并集同名的配置,末端會(huì)覆蓋上層的配置(可配置)版本控制配置項(xiàng)和配置集合具有版本信息,發(fā)生變更后會(huì)保留歷史記錄配置集合可以隨時(shí)回退到歷史版本配置變更主動(dòng)通知客戶端訂閱配置變更信息,在配置發(fā)生變更后會(huì)立即收到通知和新的配置集合客戶端與應(yīng)用程序集成集成spring-boot提供接口,允許在運(yùn)行期間動(dòng)態(tài)獲取配置本地存儲(chǔ)在客戶端本地保存當(dāng)前配置,保證應(yīng)用程序在不能訪問Repository下也可以運(yùn)行充分抽象,允許多實(shí)現(xiàn)配置信息可以保存在數(shù)據(jù)庫(kù)里,也可以保存在NoSQL里Repository可以使用Zookeeper或Redis等,也可以自行編寫允許自定義配置信息的序列化方式,默認(rèn)使用
JDK
的序列化方式配置管理配置信息統(tǒng)一管理26ZuulLoad
balancerLoad
balancerLoad
balancerZuulZuulZuulA
uth
S
erviceZuulLoadbalancerLoadbalancer27服務(wù)發(fā)現(xiàn):
Eureka
ServerEureka
client會(huì)緩存服Eureka
server的注冊(cè)信Eureka的注冊(cè)只針對(duì)ap服務(wù)每隔30秒向Eureka如果在15分鐘內(nèi)有85%Eureka
Server之間的數(shù)務(wù)注冊(cè)信息;息只存儲(chǔ)在內(nèi)存中;plication級(jí)別,不支持更細(xì)粒度的服務(wù)注冊(cè),比如單個(gè)rest;Server發(fā)送心跳,不建議修改心跳時(shí)間,Eureka用這個(gè)時(shí)間來(lái)判斷集群內(nèi)是否出現(xiàn)大范圍通信異常;的服務(wù)沒有被續(xù)約,則Eureka
Server停止移除已注冊(cè)的服務(wù),以保護(hù)已經(jīng)注冊(cè)的服務(wù)信息不丟失;據(jù)同步,采用全量拉取,增量同步的方式? Zookeeper–
CP? Etcd–
CP,DNS? Eureka-
AP服務(wù)發(fā)現(xiàn):EurekaServerEurekaclie28RibbonLoad
B
alancerLoad
balancerLoad
balancerLoad
balancer,策略名策略描述實(shí)現(xiàn)說明BestAvailableRule選擇一個(gè)最小的并發(fā)請(qǐng)求的server逐個(gè)考察Server,如果Server被tripped了,則忽略,在選擇其中ActiveRequestsCount最小的server。AvailabilityFilteringRule過濾掉那些因?yàn)橐恢边B接失敗的被標(biāo)記為circuit
tripped的后端server,并過濾掉那些高并發(fā)的的后端server(active
connections
超過配置的閾值)使用一個(gè)AvailabilityPredicate來(lái)包含過濾server的邏輯,其實(shí)就就是檢查status里記錄的各個(gè)server的運(yùn)行狀態(tài)WeightedResponseTimeRule根據(jù)響應(yīng)時(shí)間分配一個(gè)weight,響應(yīng)時(shí)間越長(zhǎng),weight越小,被選中的可能性越低。一個(gè)后臺(tái)線程定期的從status里面讀取評(píng)價(jià)響應(yīng)時(shí)間為每個(gè)server計(jì)算一個(gè)weight。當(dāng)剛開始運(yùn)行,沒有形成statas時(shí),使用roubine策略選擇server。RetryRule對(duì)選定的負(fù)載均衡策略機(jī)上重試機(jī)制。在一個(gè)配置時(shí)間段內(nèi)當(dāng)選擇server不成功,則一直嘗試使用subRule的方式選擇一個(gè)可用的server使用舉例:IRulerule=newRetryRule(newRoundRobinRule(),
200);
200表示retry的時(shí)間間隔RoundRobinRuleroundRobin方式輪詢選擇server輪詢index,選擇index對(duì)應(yīng)位置的serverRandomRule隨機(jī)選擇一個(gè)server在index上隨機(jī),選擇index對(duì)應(yīng)位置的serverZoneAvoidanceRule復(fù)合判斷server所在區(qū)域的性能和server的可用性選擇server使用ZoneAvoidancePredicate和AvailabilityPredicate來(lái)判斷是否選擇某個(gè)server,前一個(gè)判斷判定一個(gè)zone的運(yùn)行性能是否可用,剔除不可用的zone(的所有server),AvailabilityPredicate用于過濾掉連接數(shù)過多的Server。擴(kuò)展點(diǎn):自定義負(fù)載均衡策略:=myclientmyclient.ribbon.NFLoadBalancerClassName=均衡器類名myclient.ribbon.NFLoadBalancerRuleClassName=均衡策略類名RibbonLoadBalancerLoadbalan29熔斷器:HystrixHystrix核心由RxJava驅(qū)動(dòng),是一個(gè)基于觀察者模式的事件回調(diào)庫(kù);Hyxtrix的核心處理邏輯是將調(diào)用包裝成Command,將對(duì)依賴的調(diào)用轉(zhuǎn)換成Command
API調(diào)用;circuitBreaker.allowRequest()判定熔斷是否開啟;Hystrix熔斷器本質(zhì)是一組狀態(tài)機(jī),是fast-fail設(shè)計(jì)思想的體現(xiàn);處理請(qǐng)求時(shí)判定熔斷器是否開啟,開啟使用備選方案(如定義的fallback方法)往下執(zhí)行,未開啟按正常邏輯執(zhí)行;熔斷器依賴metrics收集的health指標(biāo),對(duì)錯(cuò)誤請(qǐng)求數(shù)及錯(cuò)誤百分比進(jìn)行條件判定。circuit-b
reaker
op
en?room
in
thread
p
ool?run()
successshort-circuitedthread
p
oolrejectedsuccessfailuretim
eoutfalb
ack
im
p
lem
ented
?falb
ack
sem
ap
horeat
cap
acity?getFalb
ack()succeed
s?short-circuitedthread
p
oolrejectedsuccessfailureNNNNNNYYYYYY熔斷器:HystrixHystrix核心由RxJava驅(qū)動(dòng),30HystrixUI&TurbineNetflix通過turbine聚合Hystrix的監(jiān)控流信息Hystirx的dashboard監(jiān)控信息只支持實(shí)時(shí)監(jiān)控Netflix內(nèi)部會(huì)把收集到的數(shù)據(jù)寫入到Atlas系統(tǒng),我們通過Kafka
+
ELK收集和存儲(chǔ)HystrixUI&TurbineNetflix通過t31服務(wù)端治理LBZuulA
uth
S
erviceAAuuthth
S
SeervrviciceeA
uth
S
erviceQ
Aueurtyh
S
erviceCommandAAuSutehthr
vS
SiecerevrviciceeEureka
ServerClientsVirtual
IP
/H
ostnam
eb
indLBZuulb
ind服務(wù)端治理LBZuulAuthServiceAAuut32Agenda談?wù)勎⒎?wù)微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)融數(shù)微服務(wù)架構(gòu)的核心概念和實(shí)現(xiàn)融數(shù)DevOps平臺(tái)對(duì)微服務(wù)的支撐技術(shù)團(tuán)隊(duì)的組織OperationExcellentAgenda談?wù)勎⒎?wù)33部署概念的抽象S
ervice*******1*1包是部署最小單位服務(wù)組件由包、配置組成環(huán)境包含服務(wù)組件以及運(yùn)行它所依賴的Host或者Host
Group有版本才能回滾部署概念的抽象Service*******1*1包是部34服務(wù)的部署服務(wù)組件
=(可運(yùn)行代碼
+
配置)
&(依賴+
配置)&(基礎(chǔ)設(shè)施+
配置)V
M
/D
ocker)S
ervice*******1*1V
M
/D
ocker)V
M
/D
ocker)服務(wù)的部署服務(wù)組件=VM/Docker)Servi35基于Spring-Cloud和Netflix的微課件36DevOps總體架構(gòu)GitLibp
ulingnotifyp
ulingb
ind
vipnotifyDevOps總體架構(gòu)GitLibpulingnotifyp37Agenda談?wù)勎⒎?wù)微服務(wù)技術(shù)選型過程微服務(wù)架構(gòu)設(shè)計(jì)的一些思考點(diǎn)融數(shù)微服務(wù)架構(gòu)的核心概念和實(shí)現(xiàn)融數(shù)Dev
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年跨界藝術(shù)品版權(quán)交易合同
- 2025年度智能家居瓷磚定制設(shè)計(jì)與銷售服務(wù)合同3篇
- 2024幼兒園租賃合同-附幼兒園師資培訓(xùn)及認(rèn)證服務(wù)3篇
- 2025年度打包機(jī)節(jié)能技術(shù)應(yīng)用研究與推廣合同2篇
- 2024年詩(shī)歌朗誦比賽場(chǎng)地租賃合同
- 2024年聯(lián)營(yíng)權(quán)責(zé)調(diào)整書
- 2025年度智慧社區(qū)建設(shè)合作協(xié)議書3篇
- 2024年遠(yuǎn)程醫(yī)療服務(wù)合同范本6篇
- 2024鮮花婚禮布置承包合同
- 2024年:版權(quán)與專利共享協(xié)議
- OA軟件系統(tǒng)開發(fā)合同(標(biāo)準(zhǔn)模板)
- 倉(cāng)儲(chǔ)類企業(yè)企業(yè)風(fēng)險(xiǎn)分級(jí)管控和隱患排查治理雙體系(2022-2023手冊(cè))
- 應(yīng)聘人員面試登記表
- 《全國(guó)衛(wèi)生健康財(cái)務(wù)年報(bào)》編制指南
- 大廈屋頂鋼結(jié)構(gòu)拆除施工方案
- 印刷合同協(xié)議書范本
- 2022年中級(jí)審計(jì)師《審計(jì)理論與實(shí)務(wù)》考試題庫(kù)(完整版)
- 新教科版八年級(jí)物理下冊(cè)全冊(cè)ppt課件
- 草莓采摘機(jī)械手的設(shè)計(jì)與實(shí)現(xiàn)
- 最全的官能團(tuán)化合物的紅外吸收峰特征
- 高中音樂公開課教案{非洲音樂}
評(píng)論
0/150
提交評(píng)論