微服務(wù)如何對(duì)齊業(yè)務(wù)架構(gòu)_第1頁(yè)
微服務(wù)如何對(duì)齊業(yè)務(wù)架構(gòu)_第2頁(yè)
微服務(wù)如何對(duì)齊業(yè)務(wù)架構(gòu)_第3頁(yè)
微服務(wù)如何對(duì)齊業(yè)務(wù)架構(gòu)_第4頁(yè)
微服務(wù)如何對(duì)齊業(yè)務(wù)架構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 微服務(wù)如何對(duì)齊業(yè)務(wù)架構(gòu) 作為開(kāi)發(fā)人員和架構(gòu)師,我們經(jīng)常困惑于業(yè)務(wù)架構(gòu),又或者如何將業(yè)務(wù)映射到微服務(wù)實(shí)現(xiàn),傳統(tǒng)模式,業(yè)務(wù)專家 BA 進(jìn)行業(yè)務(wù)相關(guān)的調(diào)研分析,將需求分析說(shuō)明書交付給研發(fā)團(tuán)隊(duì)進(jìn)行后續(xù)迭代開(kāi)發(fā),而在基于云基礎(chǔ)設(shè)施的業(yè)務(wù)敏捷創(chuàng)新的今天,從業(yè)務(wù)到研發(fā)再到運(yùn)維,協(xié)作的越好,整體效率和應(yīng)對(duì)市場(chǎng)變化的能力就越高,從而接受市場(chǎng)反饋,不斷迭代驗(yàn)證的過(guò)程就越順利,無(wú)論正反饋還是負(fù)反饋,都是滿足客戶業(yè)務(wù)迭代的“良藥”,從而極大增強(qiáng)了團(tuán)隊(duì)和企業(yè)的反脆弱性。另外一個(gè)常見(jiàn)的挑戰(zhàn)是,對(duì)于一個(gè)已經(jīng)在運(yùn)行的單體應(yīng)用,如何優(yōu)化改造成微服務(wù)?通常,該應(yīng)用已經(jīng)存在很多年,有非常多的依賴關(guān)系,沒(méi)有一個(gè)超級(jí)英雄,掌握所有細(xì)

2、節(jié)。無(wú)論哪種情況,“業(yè)務(wù)領(lǐng)域?qū)<摇敝匦率崂順I(yè)務(wù)愿景和目標(biāo),再到業(yè)務(wù)流程再造,是系統(tǒng)演進(jìn)和改造的關(guān)鍵環(huán)節(jié)。- 1 -什么是業(yè)務(wù)架構(gòu)?通常業(yè)務(wù)架構(gòu)不被開(kāi)發(fā)人員重視,開(kāi)發(fā)人員往往追求新技術(shù),而技術(shù)是服務(wù)于業(yè)務(wù),設(shè)計(jì)好的業(yè)務(wù),需要做的業(yè)務(wù)領(lǐng)域的隔離和解耦,同時(shí)業(yè)務(wù)領(lǐng)域和技術(shù)架構(gòu)也需要解耦?!凹夹g(shù)歸技術(shù),業(yè)務(wù)歸業(yè)務(wù)”,這種涇渭分明的分工在數(shù)字化和云計(jì)算時(shí)代顯得有點(diǎn)格格不入,就拿亞馬遜 AWS 來(lái)說(shuō),為什么我們定義 AWS 是面向構(gòu)建者、創(chuàng)業(yè)者和創(chuàng)造者的云?數(shù)字化產(chǎn)品是這個(gè)時(shí)代最主流的產(chǎn)品,而基于云服務(wù)的軟件和服務(wù)交付則是如今和未來(lái)最廣泛的產(chǎn)品開(kāi)發(fā)迭代方式。早在1987年,John Zachman 就提出

3、”企業(yè)架構(gòu)“模型,該模型從不同的角色視角定義了“5W1H”,即 ”What(數(shù)據(jù))“,”Where(網(wǎng)絡(luò))“,”Who(角色)“,”When(時(shí)間)“,”Why(動(dòng)機(jī))”和“How(功能)”企業(yè)架構(gòu)通常分為業(yè)務(wù)架構(gòu)和IT架構(gòu),所謂業(yè)務(wù)架構(gòu),是把企業(yè)的業(yè)務(wù)戰(zhàn)略轉(zhuǎn)化為日常運(yùn)作的渠道,業(yè)務(wù)戰(zhàn)略決定業(yè)務(wù)架構(gòu),它包括業(yè)務(wù)的運(yùn)營(yíng)模式、流程體系、組織結(jié)構(gòu)、地域分布等內(nèi)容。TOGAF 框架詳細(xì)描述了如何定義“業(yè)務(wù)架構(gòu),應(yīng)用架構(gòu),技術(shù)架構(gòu),數(shù)據(jù)架構(gòu)”,是流行的企業(yè) IT 戰(zhàn)略規(guī)劃的最佳實(shí)踐指引。在 TOGAF 中,定義了業(yè)務(wù)架構(gòu)的部分交付物有,組織、驅(qū)動(dòng)力、角色、業(yè)務(wù)目錄、流程,事件,控制等、用例圖、流程圖等。

4、所謂”業(yè)務(wù)架構(gòu)“本質(zhì)上是解決業(yè)務(wù)復(fù)雜性問(wèn)題,將”問(wèn)題域“進(jìn)行思考、抽象、分解和歸納過(guò)程成業(yè)務(wù)領(lǐng)域模型過(guò)程,這個(gè)過(guò)程中,我們需要,(1)所有業(yè)務(wù)方對(duì)于業(yè)務(wù)目前現(xiàn)狀(AS-IS)和未來(lái)愿景(TO-BE)有個(gè)共同的理解和愿景(2)業(yè)務(wù)交互過(guò)程的理解,一項(xiàng)業(yè)務(wù)往往涉及很多業(yè)務(wù)過(guò)程,比如購(gòu)物車業(yè)務(wù),涉及添加商品,刪除商品,計(jì)算商品金額,清空購(gòu)物車,調(diào)整商品數(shù)量等場(chǎng)景。- 2-如何落地業(yè)務(wù)架構(gòu)?認(rèn)識(shí)到業(yè)務(wù)架構(gòu)的重要性尤其是對(duì)于開(kāi)發(fā)人員而言同樣重要是技術(shù)人員主動(dòng)參與業(yè)務(wù)架構(gòu)的第一步;那在具體項(xiàng)目中如何實(shí)踐落地業(yè)務(wù)架構(gòu)呢?首先,開(kāi)發(fā)人員要摒棄技術(shù)“細(xì)節(jié)”慣性思維,尤其不要把業(yè)務(wù)簡(jiǎn)單對(duì)照到數(shù)據(jù)庫(kù)的增刪改查,從宏

5、觀再到微觀,比如最近漲了火熱的股市,你有研究過(guò)股市業(yè)務(wù)嗎??jī)扇?,北向資金,打新,競(jìng)價(jià),印花稅,注冊(cè)制,限價(jià)買入,逆回購(gòu),交易撮合等等;這之后才能真正做好程序化交易,或者開(kāi)發(fā)股票交易軟件等數(shù)字化產(chǎn)品。其次,業(yè)務(wù)架構(gòu)的方法很多,比如領(lǐng)域建模、事件風(fēng)暴、用例、四色建模等等,沒(méi)有一勞永逸的“銀彈”,掌握每個(gè)方法的特點(diǎn),找到適合自身業(yè)務(wù)和團(tuán)隊(duì)的方法。再次,紙上得來(lái)終覺(jué)淺,一定要實(shí)踐,業(yè)務(wù)架構(gòu)相關(guān)的理論很重要,但更重要的是實(shí)踐,講再多也不如在一個(gè)項(xiàng)目中實(shí)踐學(xué)到的多,別猶豫,先做再說(shuō)。通常,業(yè)務(wù)架構(gòu)首先需要?jiǎng)?chuàng)建業(yè)務(wù)能力模型,以映射業(yè)務(wù)能力并將其與特定層次的業(yè)務(wù)實(shí)體對(duì)齊;但分類本身并不提供更廣泛的限界上下文,

6、也不能深入了解如何將功能分解為微服務(wù),這是事件風(fēng)暴可以幫助的地方。事件風(fēng)暴由 Alberto Brandolini 首創(chuàng),是一種互動(dòng)方式來(lái)進(jìn)行域驅(qū)動(dòng)設(shè)計(jì) (DDD)的方法,主要協(xié)作對(duì)象是所涉及的業(yè)務(wù)和技術(shù)部門的領(lǐng)域?qū)<?;后續(xù)篇章,我將引用一個(gè)深入迭代的事件風(fēng)暴示例,展示如何將其應(yīng)用于您的架構(gòu)工作。- 3-什么是事件風(fēng)暴?什么是事件風(fēng)暴?我們先來(lái)澄清一些關(guān)于事件風(fēng)暴的常見(jiàn)誤解。- 3.1-事件風(fēng)暴等同于領(lǐng)域驅(qū)動(dòng)?領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)是以一種領(lǐng)域?qū)<?、設(shè)計(jì)人員、開(kāi)發(fā)人員都能理解的通用語(yǔ)言作為相互交流的工具,在交流的過(guò)程中發(fā)現(xiàn)領(lǐng)域概念,然后將這些概念設(shè)計(jì)成一個(gè)領(lǐng)域模型,由領(lǐng)域模型驅(qū)動(dòng)軟件設(shè)計(jì),用代碼來(lái)實(shí)現(xiàn)該

7、領(lǐng)域模型;雖然事件風(fēng)暴繼承了許多領(lǐng)域驅(qū)動(dòng)的概念(包括限界上下文和聚合),但正式的領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)可能會(huì)很復(fù)雜,需要大量的培訓(xùn)。而事件風(fēng)暴側(cè)重于交互式協(xié)作白板練習(xí),讓所有領(lǐng)域?qū)<叶紖⑴c進(jìn)來(lái)。它更簡(jiǎn)單,不需要像正式的領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)那樣廣泛的培訓(xùn)。- 3.2-事件風(fēng)暴等同于 Design Thinking?事件風(fēng)暴和設(shè)計(jì)思維都利用交互式業(yè)務(wù)流程互動(dòng)練習(xí)和白板。它們的不同之處在于,事件風(fēng)暴側(cè)重于定義微服務(wù)體系結(jié)構(gòu)的分解和分類,它還側(cè)重于業(yè)務(wù)流程中當(dāng)前正在發(fā)生的事情,稱為事件。設(shè)計(jì)思維分多階段過(guò)程,包括問(wèn)題定義、需求發(fā)現(xiàn)和基準(zhǔn)測(cè)試、構(gòu)想、原型設(shè)計(jì)和測(cè)試,它還更側(cè)重于共情和業(yè)務(wù)痛點(diǎn)。- 4-把大象裝進(jìn)冰箱現(xiàn)在讓

8、我們深入了解事件風(fēng)暴的細(xì)節(jié),首先要了解的事情之一是捕獲的關(guān)于業(yè)務(wù)域的不同類型的詳細(xì)信息;這些不同類型的細(xì)節(jié)通常由不同顏色的便簽貼表示。事件(橙色):是事件風(fēng)暴中最重要和最廣泛使用的組件,代表業(yè)務(wù)域事件和任何與業(yè)務(wù)領(lǐng)域域?qū)<蚁嚓P(guān)的事件,它們是以過(guò)去的時(shí)間編寫的,并提供了后續(xù)分組的基礎(chǔ)信息。命令(藍(lán)色):這是要做某些事情的請(qǐng)求。它們可以來(lái)自用戶或系統(tǒng),也可以來(lái)自其他事件。系統(tǒng)(粉色):這代表業(yè)務(wù)域中涉及的系統(tǒng)。他們可以發(fā)出命令或接收命令以及觸發(fā)事件。用戶(黃色):這是參與業(yè)務(wù)過(guò)程的用戶(人)。他們可以是一個(gè)人,也可以是一個(gè)部門/團(tuán)隊(duì)。黃色有助于顯示業(yè)務(wù)流程的復(fù)雜程度,通過(guò)涉及的部門數(shù)量和來(lái)回次數(shù)來(lái)

9、識(shí)別。聚合(棕黃):這是分組的第一級(jí),可以被認(rèn)為是一組事件操作的 “對(duì)象”。通常,它們是一個(gè)名詞,當(dāng)有一組事件相互依賴時(shí)可以識(shí)別。讀取模型(綠色):表示可能對(duì)用戶或系統(tǒng)作出決策至關(guān)重要的數(shù)據(jù)。這個(gè)不經(jīng)常使用,但是當(dāng)需要強(qiáng)調(diào)用戶看到的數(shù)據(jù)時(shí),它可能會(huì)有所幫助。策略(灰色):表示可能需要執(zhí)行標(biāo)準(zhǔn)或規(guī)則,例如合規(guī)性策略的規(guī)則。現(xiàn)在我們了解了我們希望在域中發(fā)現(xiàn)的不同類型的事情,讓我們用一個(gè)例子來(lái)看看事件沖擊的每個(gè)迭代步驟。以下的示例,我們將對(duì)通用電商的業(yè)務(wù)域進(jìn)行建模。- 4.1-業(yè)務(wù)愿景我們回到 2006年,AWS 發(fā)布的第一個(gè)云數(shù)字化服務(wù) S3 的新聞稿是怎么寫的。一句話描述 Amazon S3 是

10、什么?Amazon S3 以極低的成本為高可擴(kuò)展、低延遲存儲(chǔ)提供應(yīng)用程序程序接口西雅圖 (美國(guó)商業(yè)資訊) 2006 年 3 月 14 日 Amazon Web Services 今天宣布推出 “Amazon S3 (TM)”,這是一項(xiàng)簡(jiǎn)單的存儲(chǔ)服務(wù),它以極低的成本為軟件開(kāi)發(fā)人員提供高度可擴(kuò)展、可靠和低延遲的數(shù)據(jù)存儲(chǔ)基礎(chǔ)架構(gòu)。亞馬遜 S3 今天可以通過(guò) /s3 訪問(wèn)。這段話,進(jìn)一步闡述了該服務(wù)的用戶對(duì)象,用戶可以獲得的好處和優(yōu)勢(shì)。亞馬遜 S3 是互聯(lián)網(wǎng)存儲(chǔ)。它旨在使開(kāi)發(fā)人員更容易進(jìn)行 大規(guī)模 Web 計(jì)算。Amazon S3 提供了一個(gè)簡(jiǎn)單的 Web 服務(wù)界面,可用于隨時(shí)從 Web 上的任何位置

11、存儲(chǔ)和檢索任意數(shù)量的數(shù)據(jù)。它允許任何開(kāi)發(fā)人員訪問(wèn) Amazon 用于運(yùn)行自己的全球網(wǎng)站的高度可擴(kuò)展、可靠、快速、廉價(jià)的數(shù)據(jù)存儲(chǔ)基礎(chǔ)設(shè)施。該服務(wù)旨在最大限度地提高規(guī)模效益,并將這些優(yōu)勢(shì)傳遞給開(kāi)發(fā)人員。有別于當(dāng)時(shí)其他存儲(chǔ)類型,Amazon S3 是“互聯(lián)網(wǎng)”存儲(chǔ),隨時(shí)隨地訪問(wèn),價(jià)格低廉,高可擴(kuò)展,可靠快速,幫助開(kāi)發(fā)人員更容易進(jìn)行大規(guī)模 Web 應(yīng)用開(kāi)發(fā)。亞馬遜的逆向工作法,先寫新聞稿(面向你的客戶),講清楚你發(fā)布的產(chǎn)品是什么?對(duì)他們有什么價(jià)值?有哪些核心功能?那些早期用戶有什么樣的反饋?用戶體驗(yàn)如何?完整的新聞稿,大家可以通過(guò)文末鏈接進(jìn)一步閱讀。因此,在進(jìn)入項(xiàng)目團(tuán)隊(duì)組建,開(kāi)發(fā),測(cè)試推向市場(chǎng)之前,先

12、需要整理出你聚焦那塊業(yè)務(wù),涉及的干系人和用戶是誰(shuí),相比已有的方案,提供哪些獨(dú)特的價(jià)值,從而整理出該“未來(lái)”產(chǎn)品的愿景。當(dāng)然,團(tuán)隊(duì)也可以利用,結(jié)構(gòu)化思考的一些工具輔助輸出業(yè)務(wù)愿景,比如Melissa Perri 的 Product Strategy Canvas,下圖就是一個(gè)例子:- 4.2-事件風(fēng)暴實(shí)操過(guò)程步驟 #1 識(shí)別領(lǐng)域事件事件風(fēng)暴的第一階段是識(shí)別領(lǐng)域事件?;旧?,會(huì)議室里的每個(gè)人都在提事件并把它們貼在白板上。將這個(gè)階段視為頭腦風(fēng)暴,因此避免在這個(gè)階段應(yīng)用任何分析或過(guò)濾,因?yàn)樗粫?huì)減慢事情。此步驟通常需要最長(zhǎng)的時(shí)間,并且必須留出足夠的時(shí)間來(lái)捕獲所有基礎(chǔ)的事件。以電商為例,一些可能的事件包

13、括訂單提交、付款處理或庫(kù)存更新等。此階段的輸出示例如下所示:步驟 #2 排序事件接下來(lái)的步驟通過(guò)將事件按順序(通常從左到右)來(lái)幫助識(shí)別任何可能缺失的事件。訂單建立后,您可以向后轉(zhuǎn)移以幫助識(shí)別其他事件。在我們的電商例子中,首先輸入訂單信息,然后輸入正在檢查的庫(kù)存。在把它們放在一起時(shí),我們發(fā)現(xiàn)我們?yōu)檎趫?zhí)行的輸入檢查留下了一個(gè)事件。當(dāng)同時(shí)發(fā)生多個(gè)事件時(shí),您可以垂直堆疊它們,如下所示:步驟 #3 識(shí)別用戶和系統(tǒng)在按順序排列事件之后,下一步是通過(guò)提出 “是什么觸發(fā)事件?” 等問(wèn)題來(lái)建立圍繞事件的更廣泛的生態(tài)系統(tǒng)模型。這是一個(gè)系統(tǒng)還是用戶?又或者是另一個(gè)事件?涉及哪些命令?額外的業(yè)務(wù)上下文對(duì)于了解業(yè)務(wù)域

14、的當(dāng)前狀態(tài)非常有價(jià)值。在我們的示例中,用戶是觸發(fā)訂單信息輸入事件的內(nèi)容,他們通過(guò)網(wǎng)頁(yè)(系統(tǒng))進(jìn)行操作。步驟 #4 事件初步分組此時(shí),應(yīng)對(duì)所有領(lǐng)域事件及其相關(guān)部分進(jìn)行分類建模。第一個(gè)分類稱為聚合;這些是事件操作的名詞或?qū)ο?。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)還有一個(gè)實(shí)體的概念,你可以把它看作是聚合的下一層。將聚合和實(shí)體作為相同的處理有助于簡(jiǎn)化事情,使人們更容易理解。在我們的示例中,庫(kù)存、訂單、報(bào)價(jià)都是分類示例。它們是事件正在操作的對(duì)象。步驟 #5 相關(guān)事件歸類到同一個(gè)邊界中現(xiàn)在,我們已經(jīng)準(zhǔn)備好了識(shí)別聚合的界限上下文。所有相關(guān)事件都將在一個(gè)限界上下文中。例如,與購(gòu)物車相關(guān)的所有事件都會(huì)在購(gòu)物車限界上下文中。這里要記住的

15、一個(gè)重要的微服務(wù)概念是,如果它一起改變,它應(yīng)該放在一起。我們希望盡可能消除跨界上下文的依賴關(guān)系,如果事件之間的語(yǔ)言發(fā)生變化,那么這表明您已經(jīng)進(jìn)入不同的限界上下文。步驟 #6 最后匯總現(xiàn)在我們已經(jīng)完成了事件風(fēng)暴所有的步驟!現(xiàn)在,您可以同時(shí)使用限界上下文和聚合來(lái)分解所需的微服務(wù)。通常,限界上下文中的聚合表示一個(gè)或多個(gè)微服務(wù)。在我們的示例中,訂單捕獲限界上下文將包含與訂單和庫(kù)存相關(guān)的微服務(wù)。您會(huì)注意到訂單也存在于購(gòu)物車限界上下文和訂單履行限界界上下文中。這沒(méi)關(guān)系,這表明它們是不同的微服務(wù),因?yàn)樗鼈兲幱诓煌南藿缟舷挛闹?。他們可能都在做與訂單有關(guān)的事情,但他們做的事情是不同的。在一個(gè)單體應(yīng)用中,這些將

16、被捆綁在一起,導(dǎo)致耦合,但使用微服務(wù)體系結(jié)構(gòu),我們將它們進(jìn)行解耦,滿足高內(nèi)聚和獨(dú)立性?,F(xiàn)在,您有大量的信息可幫助您開(kāi)始技術(shù)架構(gòu)實(shí)現(xiàn)。我發(fā)現(xiàn)添加一個(gè)從事件創(chuàng)建業(yè)務(wù)能力(業(yè)務(wù)功能)的步驟很有幫助。通常,該功能通常是一般現(xiàn)代時(shí)態(tài)的事件。然后,這些功能可以映射到限界上下文,并在各種目標(biāo)功能體系結(jié)構(gòu)視圖中聚合。這些不同的視圖為架構(gòu)師和軟件工程師提供了構(gòu)建其目標(biāo)狀態(tài)的藍(lán)圖。- 5-結(jié)論數(shù)字化產(chǎn)品是這個(gè)時(shí)代最主流的產(chǎn)品,而基于云服務(wù)的軟件和服務(wù)交付則是如今和未來(lái)最廣泛的產(chǎn)品開(kāi)發(fā)迭代方式;技術(shù)服務(wù)于業(yè)務(wù),擁抱技術(shù)的同時(shí)千萬(wàn)別忽略業(yè)務(wù),本文從日常微服務(wù)拆分的痛點(diǎn)出發(fā),很多疑問(wèn)來(lái)自如何分解業(yè)務(wù)到不同的微服務(wù),標(biāo)準(zhǔn)

17、是什么?怎么保證服務(wù)高內(nèi)聚?而業(yè)務(wù)架構(gòu)是要優(yōu)先于IT架構(gòu),不能為了偷懶或者不重視而直接進(jìn)入開(kāi)發(fā)環(huán)節(jié);最后,業(yè)務(wù)架構(gòu)的領(lǐng)域驅(qū)動(dòng)和事件風(fēng)暴方法,需要不斷的實(shí)踐,我的經(jīng)驗(yàn),這些方法遠(yuǎn)沒(méi)有新技術(shù)本身復(fù)雜。參考資料和擴(kuò)展閱讀:Decomposing the Monolith with Event Storming/capital-one-tech/event-storming-decomposing-the-monolith-to-kick-start-your-microservice-architecture-acb8695a6e61維基 - 企業(yè)架構(gòu)/wiki/%E4%BC%81%E4%B8%9A%E6%9E%B6%E6%9E%84維基 - 業(yè)務(wù)/zh-hans/%E4%B8%9A%E5%8A%A12016年 AWS S3 新聞稿,/news-releases/news-release-details/a

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論