精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

遺留系統(tǒng)的服務(wù)拆分

原創(chuàng) 精選
開發(fā)
我們正在書寫、即將面對、正在面對遺留系統(tǒng)。在與遺留系統(tǒng)的相愛相殺中,需要我們基于項目目標(biāo)和現(xiàn)狀、結(jié)合過往經(jīng)驗、經(jīng)過剪裁和取舍,才能迎面不斷出現(xiàn)的挑戰(zhàn)。

最近一年來,我所在的項目為一個傳統(tǒng)行業(yè)客戶的 IT 核心系統(tǒng)做遺留系統(tǒng)改造,我參與了該系統(tǒng)一個業(yè)務(wù)模塊的拆分和服務(wù)化,在這過程中落地了一些有意思的實踐,特此記錄下來和大家分享。

項目背景

這是一個運行了至少 15 年的單體系統(tǒng),采用的技術(shù)棧是 JDK8、Servlet、JSP、Oracle、JDBC、存儲過程、Weblogic,從這些關(guān)鍵詞就能感受到它的滄桑感。整個系統(tǒng)都在一個代碼倉庫中,或按業(yè)務(wù)或按功能劃分成了 30 多個 maven 模塊,模塊間可以任意調(diào)用彼此的方法,也可以隨意訪問彼此業(yè)務(wù)的數(shù)據(jù)庫表。最讓人糟心的是,大部分的業(yè)務(wù)邏輯都寫在復(fù)雜的 SQL 語句和存儲過程里,幾百行的 SQL、一堆表的 join、層層調(diào)用的存儲過程比比皆是。當(dāng)然,該系統(tǒng)也沒有落下“沒有自動化測試”這個遺留系統(tǒng)的典型標(biāo)簽。

圖片

圖1 單個代碼倉庫里包含的各種業(yè)務(wù)模塊和技術(shù)模塊

客戶PO是一個對技術(shù)有理想有抱負(fù)的人物,不希望這個系統(tǒng)再繼續(xù)腐化下去,所以找到我司對該系統(tǒng)進(jìn)行現(xiàn)代化改造,其中一個落地措施就是對這個單體系統(tǒng)進(jìn)行拆分和服務(wù)化。經(jīng)過挑選,A 業(yè)務(wù)成為了這一批改造的試點對象。

這次拆分的目標(biāo)是:將 A 業(yè)務(wù)的代碼和數(shù)據(jù)庫表從原有代碼和數(shù)據(jù)庫中拆分出來,形成獨立的 A 服務(wù)及其數(shù)據(jù)庫,實現(xiàn) A 業(yè)務(wù)的代碼獨立、數(shù)據(jù)獨立、部署獨立。

圖片

圖2 拆分目標(biāo)

總體策略

這次服務(wù)拆分的策略歸納起來有三條:

(1) 先代碼拆分、后數(shù)據(jù)拆分

代碼和數(shù)據(jù)是服務(wù)拆分的兩個重要物理實體。先拆代碼還是先拆數(shù)據(jù),在《Monolith to Microservices》中介紹了這兩種方式的優(yōu)劣。我們考慮到在現(xiàn)有代碼極其復(fù)雜的前提下,先拆數(shù)據(jù)會給代碼帶來更大的復(fù)雜性,并且在出現(xiàn)問題、需要回滾的情況下,拆分前后的數(shù)據(jù)一致性也十分困難,因此我們選擇了先代碼拆分的策略。

圖片

圖3 先代碼拆分、后數(shù)據(jù)拆分

(2) 以單個頁面請求為單位進(jìn)行拆分

拆分工作由 10 位開發(fā)人員承擔(dān),如何劃分大家工作內(nèi)容呢:按數(shù)據(jù)庫表?按 Servlet?按頁面?我們選擇的是按請求來劃分。A 業(yè)務(wù)的后端 Servlet 提供了近 300 個功能,每個功能對應(yīng)一個前端請求URL。我們以單個請求為顆粒度劃分開發(fā)任務(wù),并按我們熟悉的敏捷開發(fā)方式創(chuàng)建 Jira 卡片、安排到每個迭代中。按這樣的顆粒度劃分后,大多數(shù)開發(fā)任務(wù)可以對應(yīng)到1、2、3、5天的工作量,非常有利于安排每個迭代的內(nèi)容、分批上線、形成緊湊的工作節(jié)奏、縮小每個開發(fā)任務(wù)的測試范圍。

(3) 代碼先完整復(fù)制,再修改

新服務(wù)的框架搭起來以后,是一開始就把 A 業(yè)務(wù)的代碼復(fù)制到新創(chuàng)建的服務(wù)中,還是在做開發(fā)任務(wù)的時候才把涉及到的代碼復(fù)制到新服務(wù)中再做修改?我們選擇的是前者,因為后者在多人并行開發(fā)的時候會遇到復(fù)制沖突的問題,與其這樣,不如一開始就整體復(fù)制好,在做開發(fā)任務(wù)的時候再修改涉及到的代碼。當(dāng)然,一開始還需要把一些公共代碼或者依賴的其他業(yè)務(wù)代碼也復(fù)制過來,以保證 A 服務(wù)的代碼能編譯通過。

使用 Feature Toggle 用于功能回滾

只要是對代碼的改動,就有可能引入 bug。—— 我說的

雖然Dev、QA團(tuán)隊盡力最大努力,但依舊無法避免拆分出來的服務(wù)上線后出bug,一旦出現(xiàn),需要盡快切換回原有系統(tǒng)以減少對業(yè)務(wù)的影響。結(jié)合我們以頁面請求為單位進(jìn)行拆分的方式,我們引入 feature toggle 作為切換新舊系統(tǒng)的開關(guān),控制前端發(fā)來的請求是發(fā)送給原有系統(tǒng)還是發(fā)送給拆分出來的服務(wù)。

圖片

圖4 使用 Feature Toggle 切換新舊系統(tǒng)

在實現(xiàn)的時候,所有請求默認(rèn)還是先發(fā)給原有系統(tǒng),我們在原有系統(tǒng)的后端新增了一個請求過濾器,在過濾器中提取請求的 URL,根據(jù) URL 判斷:如果是已經(jīng)拆分出去的功能請求,并且數(shù)據(jù)庫中記錄的 toggle 是開啟的,則將請求轉(zhuǎn)發(fā)給新服務(wù)處理;反之依舊交由原有系統(tǒng)處理。

既然將回滾作為快速恢復(fù)功能的手段,那引入了一項開發(fā)約定:在拆分過程中,只允許修改新服務(wù)的代碼,不允許修改原有系統(tǒng)的代碼。

Feature Toggle 不僅在處理線上問題時可以用來及時止血,還給團(tuán)隊帶來了額外的好處:

  • 在上線前,Dev和QA可以切換開關(guān),快速比對某個功能的改造前后的效果是否一致。?
  • 到了上線時間,但測試尚未充分,或者在年底大促的業(yè)務(wù)高峰期擔(dān)心引入 bug 影響業(yè)務(wù)的時候,就出現(xiàn)了“開發(fā)完成但不能上線”的情況,這時關(guān)閉對應(yīng)的 toggle 即可讓拆分后的功能暫緩上線。?

使用代碼分析工具簡化數(shù)據(jù)庫表的使用分析

每一個拆分任務(wù)的重點工作之一,是識別該功能讀寫的表是否是 A 業(yè)務(wù)的表。因為只有 A 業(yè)務(wù)的表,最終才會拆分到 A 數(shù)據(jù)庫中;反之如果不是 A 業(yè)務(wù)的表,被視為只有原有系統(tǒng)才能直接讀寫,在 A 服務(wù)中無法讀寫,需要改為調(diào)用原有系統(tǒng)新增加 API 的方式來取代原有的數(shù)據(jù)操作。

如果是一個簡單的功能,尚可通過肉眼查看代碼來識別都操作了哪些表。但凡功能稍微復(fù)雜,人工查看的效率和準(zhǔn)確性就大打折扣甚至不可行。好在我司的一個大牛為該項目開發(fā)了代碼分析工具,它可以通過分析編譯后的 Java 字節(jié)碼文件,得到方法調(diào)用鏈上所有方法的調(diào)用關(guān)系,以及 SQL 和存儲過程里讀寫的表,并將分析結(jié)果形成一個樹形結(jié)構(gòu)并以 xmind 或者 svg 的格式保存下來。開發(fā)人員有了分析結(jié)果,不費吹灰之力就能知道當(dāng)前拆分的功能涉及哪些表,以及在調(diào)用哪個方法的時候用到了這些表,從而對接下來要拆分的代碼心中有數(shù)。

圖片

圖5 一個稍微復(fù)雜一點的方法調(diào)用鏈分析結(jié)果

如果沒有這個分析工具,Dev 可能要花好幾天甚至好幾周去分析一個復(fù)雜的待拆分功能,而現(xiàn)在只需要幾秒鐘,分析結(jié)果就呈現(xiàn)在眼前。這個工具被客戶譽為“神器”,我們在用的時候也時常感嘆:“自動化真香!”

使用 Code Owner 保持新舊代碼的一致

在拆分過程中,如果有新需求涉及 A 業(yè)務(wù)的變更,則原有系統(tǒng)和新服務(wù)中的代碼都需要同步修改,否則就會出現(xiàn)二者的功能不一致:

  • 如果只修改了原有系統(tǒng)而未修改新服務(wù),那么該功能在拆分改造后,功能就會和改造前存在差異。?
  • 如果只修改了新服務(wù)而未修改原有系統(tǒng),那么一旦 toggle 關(guān)閉,則原有系統(tǒng)則無法提供新需求的功能。?

客戶使用的版本控制系統(tǒng)是 BitBucket,并且以提交 Pull Request(PR)的方式合并新代碼。因此我們使用了 BitBucket 的 Code Owner 功能(Github、Gitlab 也有該功能)監(jiān)控原有系統(tǒng)中 A 業(yè)務(wù)涉及的模塊和文件夾,同時也監(jiān)控了新服務(wù)所有代碼,并將拆分團(tuán)隊的兩位骨干Dev設(shè)置為 Code Owner。這樣一旦在 PR 中包含被監(jiān)控代碼的改動,則會自動把 Code Owner 設(shè)置為 PR 的 Reviewer,Code Owner 收到系統(tǒng)通知后會檢查代碼是否做了同步修改。如果代碼修改未同步,則不允許合并 Pull Request。

結(jié)語

讓我們面對現(xiàn)實吧,我們今天所做的一切就是在編寫明天的遺留系統(tǒng) —— Martin Fowler

我們正在書寫、即將面對、正在面對遺留系統(tǒng)。在與遺留系統(tǒng)的相愛相殺中,需要我們基于項目目標(biāo)和現(xiàn)狀、結(jié)合過往經(jīng)驗、經(jīng)過剪裁和取舍,才能迎面不斷出現(xiàn)的挑戰(zhàn)。我以此文拋磚引玉,歡迎大家交流拍磚。

責(zé)任編輯:趙寧寧 來源: Thoughtworks洞見
相關(guān)推薦

2010-09-06 16:35:58

SQL函數(shù)

2022-01-13 09:49:40

遺留系統(tǒng)交接開發(fā)

2021-01-15 11:01:42

IT系統(tǒng)漏洞網(wǎng)絡(luò)攻擊

2023-06-25 12:22:25

IT領(lǐng)導(dǎo)者CIO

2018-05-03 15:34:34

組件測試遺留系統(tǒng)微服務(wù)

2024-04-12 10:03:48

2021-07-09 05:25:48

CIO遺留系統(tǒng)現(xiàn)代化用戶體驗

2022-08-24 09:50:40

系統(tǒng)運維

2022-11-09 10:02:21

CDC遺留系統(tǒng)

2021-06-27 17:20:20

遺留系統(tǒng)隱形成本CIO

2014-02-13 09:47:41

GartnerERP云ERP

2013-09-12 09:39:38

遺留系統(tǒng)云遷移API

2022-03-31 08:15:38

微服務(wù)服務(wù)拆分架構(gòu)

2020-11-30 10:13:17

ITCIO首席信息官

2021-12-27 11:02:00

首席信息官技術(shù)發(fā)展企業(yè)管理者

2013-09-16 13:18:28

遺留系統(tǒng)系統(tǒng)遷移

2013-11-11 09:59:29

Boni Satani遺留系統(tǒng)系統(tǒng)遷移

2010-09-01 16:08:03

遺留系統(tǒng)Java

2020-03-09 14:10:48

代碼開發(fā)工具

2017-09-13 15:45:17

交付軟件遺留系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲永久免费观看| 久久综合久久八八| av网站在线不卡| 国产激情视频在线| 99这里只有精品| 国产精品久久久久久久9999| 亚洲成人生活片| 久久99精品久久久久久园产越南| 欧美狂野另类xxxxoooo| 欧美 日韩 亚洲 一区| 99se视频在线观看| 丰满放荡岳乱妇91ww| 国产精品xxxxx| 久久久久久久久艹| 欧美日韩在线二区| 亚洲成人精品视频| 欧美激情第一区| 三上悠亚一区二区| 亚洲第一激情av| 在线观看亚洲视频啊啊啊啊| 外国精品视频在线观看| 国产伦精一区二区三区| 国产精品嫩草影院一区二区| 国产精品2020| 在线看片不卡| 色噜噜狠狠狠综合曰曰曰| 亚洲成人av免费在线观看| 国产一区二区三区精品在线观看 | 精品国产不卡一区二区| 色综合久久久久网| 91成人在线观看喷潮教学| 成人免费网址| 中文字幕在线一区| 四虎一区二区| 懂色一区二区三区| 久久天天做天天爱综合色| 国产精品永久入口久久久| 国产一区二区三区在线观看| 日本网站在线观看一区二区三区| 6080yy精品一区二区三区| 国产亚洲精品久久久久久无几年桃| 98精品视频| 久久精彩免费视频| www.99re6| 91久久高清国语自产拍| 丝袜亚洲欧美日韩综合| 免费看91的网站| 不卡中文字幕| 中文字幕av一区二区| 少妇久久久久久久久久| 美女少妇全过程你懂的久久| 日韩精品www| 人妻丰满熟妇av无码久久洗澡| 免费成人三级| 国产视频精品xxxx| 久操视频免费看| 精品一区二区三区中文字幕老牛| 国产香蕉97碰碰久久人人| 少妇真人直播免费视频| 国产成人3p视频免费观看| 亚洲少妇中文在线| 美国黄色特级片| 性xxxx欧美老肥妇牲乱| 欧美成人四级hd版| 日本视频免费在线| 蜜桃av综合| 国产精品久久在线观看| 91成年人视频| 丁香五精品蜜臀久久久久99网站 | 成人高清免费观看mv| 国产精品午夜久久| 亚洲av首页在线| 黄色影院在线看| 欧美日韩亚洲网| av网站在线不卡| 视频一区日韩精品| 日韩成人中文字幕| 91视频免费看片| 亚洲欧美综合| 日本成人在线视频网址| 中文字幕你懂的| 国产成人综合在线| 欧美日韩大片一区二区三区| 一级日本在线| 亚洲国产综合色| 国产精品人人妻人人爽人人牛| 成人在线高清| 欧美精品一区二区精品网| 国产特黄级aaaaa片免| 久久精品国产68国产精品亚洲| 久久91亚洲精品中文字幕| 特一级黄色大片| 狠狠色丁香婷婷综合| 免费av一区二区三区| www 日韩| 五月天国产精品| 午夜天堂在线视频| 校花撩起jk露出白色内裤国产精品| 中文字幕视频在线免费欧美日韩综合在线看 | 欧美色成人综合| 69xxx免费视频| 久久一区二区三区喷水| 2020久久国产精品| 国内老熟妇对白xxxxhd| 久久精品人人做人人爽97| 黄黄视频在线观看| 精品国模一区二区三区| 亚洲成人激情视频| 午夜激情福利网| 日韩精彩视频在线观看| 国产精品一区二区欧美| 日本美女在线中文版| 黑人巨大精品欧美一区二区免费| 欧美性受xxxx黒人xyx性爽| 免费看成人吃奶视频在线| 欧美放荡办公室videos4k| 在线观看免费观看在线| 91在线一区二区| 国产在线视频综合| 999久久久国产999久久久| 亚洲欧美国产精品va在线观看| 男人与禽猛交狂配| 麻豆一区二区三区| 日韩欧美亚洲精品| 少妇在线看www| 精品国产99国产精品| 九九九免费视频| 国产一区二区三区黄视频| 亚洲国产一区二区精品视频| 日本成人三级电影| 亚洲精品中文字幕有码专区| 青青草手机视频在线观看| 亚洲高清一区二| 男人操女人免费| 国产一级成人av| 美女啪啪无遮挡免费久久网站| 艳妇乳肉豪妇荡乳av无码福利| 91在线精品一区二区| 秋霞无码一区二区| 黑人久久a级毛片免费观看| 欧美另类极品videosbestfree| 在线观看色网站| 国产精品无圣光一区二区| 久久午夜夜伦鲁鲁一区二区| 综合亚洲自拍| 日韩av片电影专区| 国际av在线| 色94色欧美sute亚洲线路一久| 日本一区二区三区网站| 国产日韩一区| 欧美日韩综合网| 电影亚洲精品噜噜在线观看| 亚洲深夜福利在线| 在线观看免费观看在线| 亚洲桃色在线一区| 91网址在线观看精品| 亚洲欧美在线专区| 99久久自偷自偷国产精品不卡| 日本动漫同人动漫在线观看| 精品乱人伦小说| 欧美特黄aaaaaa| 国产欧美日本一区视频| 黄色片视频在线| 亚洲乱码精品| 精品综合在线| 精品亚洲美女网站| 久久香蕉频线观| 好吊色一区二区三区| 天天射综合影视| 中文字幕精品亚洲| 大胆亚洲人体视频| 国产又黄又猛视频| 91九色精品国产一区二区| 成人xxxxx色| 欧美色网一区| www.亚洲一区| 欧美特级特黄aaaaaa在线看| 懂色aⅴ精品一区二区三区蜜月| 毛茸茸多毛bbb毛多视频| 蜜桃视频在线观看一区| 日韩在线视频在线| 精品人人人人| 成人h视频在线| www.综合| 日韩中文字幕在线看| 好吊色视频一区二区| 欧美在线观看一区| 免费毛片在线播放免费 | 91久久精品国产91久久性色| 女囚岛在线观看| 一区二区欧美激情| 亚洲女人18毛片水真多| 在线观看欧美精品| 国产在线观看免费视频今夜| 国产性色一区二区| xxxx视频在线观看| 日韩精品亚洲一区| 福利在线一区二区| 波多野结衣的一区二区三区| 成人羞羞视频免费| 成人免费一区| 91av视频在线观看| 中文字幕有码在线视频| 夜夜嗨av色一区二区不卡| 丰满人妻一区二区三区四区53| 欧美视频在线不卡| 综合激情网五月| 亚洲精选视频在线| www.99re6| 日本一二三四高清不卡| 黄色在线免费播放| 国产一区 二区 三区一级| 一级特黄性色生活片| 亚洲国产第一| 国产精品视频一二三四区| 日韩免费视频| 欧美一区二区三区精美影视| 都市激情亚洲| 99在线热播| 精品一区二区三区在线观看视频| 国产精品久久久久久久久影视| 蜜桃视频在线观看免费视频| 色中色综合影院手机版在线观看| 免费人成在线观看播放视频| 国产亚洲精品久久久久久777| 熟妇人妻av无码一区二区三区| 在线播放中文字幕一区| 精品一区二三区| 在线精品亚洲一区二区不卡| 伊人手机在线视频| 黄色成人av网| 中日韩精品视频在线观看| 亚洲大尺度视频在线观看| a级片在线观看免费| 成人欧美一区二区三区| jizzjizzjizz国产| 中文字幕在线一区免费| 国产人与禽zoz0性伦| 国产精品久久久久一区二区三区| 第一次破处视频| 欧美国产日产图区| 免费成人深夜蜜桃视频| 国产精品视频一区二区三区不卡| 免费看黄色三级| 欧美韩国一区二区| 日韩欧美视频免费观看| 中文字幕一区二区三| 黑人と日本人の交わりビデオ| 中文字幕一区二区日韩精品绯色| 婷婷国产成人精品视频| 国产精品久久久久久久浪潮网站 | 美国黄色一级视频| 成人午夜视频福利| 天天插天天射天天干| 91一区二区在线| 久久精品无码一区| 国产精品久久三区| 国产一区二区视频在线观看免费| 亚洲欧洲综合另类在线| 久久免费视频99| 丁香五六月婷婷久久激情| 天天干天天插天天射| 欧美日韩久久一区| 午夜久久久久久噜噜噜噜| 亚洲国产日韩精品在线| 久草福利在线视频| www.xxxx欧美| 国内小视频在线看| 日韩av手机在线| 成人动漫视频在线观看| 国产91免费视频| 国产a久久精品一区二区三区| 亚洲在线播放电影| 精品动漫av| 免费黄色一级网站| 国产精品系列在线观看| 一女三黑人理论片在线| 国产精品视频一二三区| 欧美色图一区二区| 日韩欧美有码在线| 精品久久久免费视频| 亚洲精品美女在线| 黄色在线免费看| 18一19gay欧美视频网站| 88xx成人网| 精品产品国产在线不卡| 日韩国产在线| 国产资源在线视频| 久久99精品久久久久| 免费的av网站| 野外性满足hd| 一区二区成人在线| 成人黄色片在线观看| 欧美精品一区二区不卡| 98在线视频| 91精品国产高清久久久久久91 | 国产高清一区视频| 大色综合视频网站在线播放| 久久综合久久网| 久久精品国产一区二区三 | 亚洲欧美另类视频| 色悠悠久久88| 国模套图日韩精品一区二区| 91夜夜揉人人捏人人添红杏| 猛男gaygay欧美视频| 男人j进女人j| 蜜桃av噜噜一区| 一区二区不卡免费视频| 亚洲永久精品大片| 又污又黄的网站| 国产一区二区美女视频| 在线免费av资源| 国产一区二区三区av在线| 欧美伊人影院| 九九精品久久久| 欧美经典三级视频一区二区三区| 日韩三级免费看| 日韩女优av电影| 在线观看电影av| 亚洲一区二区三区四区视频| 日本女优一区| www.日日操| 91老师片黄在线观看| 国产无遮挡又黄又爽| 日韩欧美中文字幕一区| 免费黄色网址在线观看| 国产精品视频成人| 欧美影院三区| 天天爽夜夜爽一区二区三区| 久久久亚洲国产美女国产盗摄| 日韩精品――中文字幕| 亚洲成人中文字幕| av资源在线看片| 国产精品露出视频| 国语自产精品视频在线看8查询8| 男人的天堂免费| 亚洲综合男人的天堂| 亚洲黄色小说网| 欧美大片在线看免费观看| 秋霞一区二区| 男人草女人视频| 国产91丝袜在线18| 久久精品视频6| 亚洲国产欧美日韩精品| a国产在线视频| 精品伦理一区二区三区| 另类av一区二区| 亚洲黄色免费视频| 欧美日韩国产高清一区二区三区| 色网站在线看| 亚洲一区二区三区久久| 黄色av日韩| 精品无码人妻一区| 欧美在线免费观看视频| 天堂аⅴ在线地址8| 96精品久久久久中文字幕| 欧美午夜一区二区福利视频| 亚洲精品成人无码毛片| 精品国产乱码久久久久久婷婷| 日韩一二三四| 国产精品视频永久免费播放| 国产精品99一区二区三| 亚洲成a人无码| 色屁屁一区二区| 欧洲日本在线| 国产精品久久国产三级国电话系列 | 水蜜桃色314在线观看| 972aa.com艺术欧美| 中文字幕久久熟女蜜桃| 不卡av电影在线观看| 国产精品99久久免费观看| 欧在线一二三四区| 亚洲免费观看视频| 天天干,夜夜操| 国产精品久久久久久久午夜| 亚洲a一区二区三区| 国产精品成人无码专区| 欧美在线小视频| 黑人另类精品××××性爽| 欧美一级二级三级| 国产精品资源在线| 亚洲婷婷综合网| 成人97在线观看视频| 日韩大片在线免费观看| 在线能看的av网站| 激情成人中文字幕| 黄色网页网址在线免费| 久精品国产欧美| 激情综合色丁香一区二区| 青青草av在线播放| www.欧美精品一二三区| 亚洲精品亚洲人成在线| 加勒比av中文字幕| 欧美日韩视频免费播放| 免费黄网在线观看| 欧美日韩在线高清| 国产成人精品免费视频网站| 中文字幕亚洲精品一区| 美女少妇精品视频| 国产剧情一区|