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

敢在簡歷上寫消息隊列,這幾個問題必須拿下!

開發 前端
引入 MQ 消息中間件實現系統解耦,會影響系統之間數據傳輸的一致性。 在分布式系統中,如果兩個節點之間存在數據同步,就會帶來數據一致性的問題。

面試官在面試候選人時,如果發現候選人的簡歷中寫了在項目中使用了 MQ 技術(如 Kafka、RabbitMQ、RocketMQ),基本都會拋出一個問題:在使用 MQ 的時候,怎么確保消息 100% 不丟失?

這個問題在實際工作中很常見,既能考察候選者對于 MQ 中間件技術的掌握程度,又能很好地區分候選人的能力水平。接下來,我們就從這個問題出發,探討你應該掌握的基礎知識和答題思路,以及延伸的面試考點。

案例背景

以京東系統為例,用戶在購買商品時,通常會選擇用京豆抵扣一部分的金額,在這個過程中,交易服務和京豆服務通過 MQ 消息隊列進行通信。在下單時,交易服務發送“扣減賬戶 X 100 個京豆”的消息給 MQ 消息隊列,而京豆服務則在消費端消費這條命令,實現真正的扣減操作。

圖片圖片

那在這個過程中你會遇到什么問題呢?

案例分析

要知道,在互聯網面試中,引入 MQ 消息中間件最直接的目的是:做系統解耦合流量控制,追其根源還是為了解決互聯網系統的高可用和高性能問題。

  • 系統解耦:用 MQ 消息隊列,可以隔離系統上下游環境變化帶來的不穩定因素,比如京豆服務的系統需求無論如何變化,交易服務不用做任何改變,即使當京豆服務出現故障,主交易流程也可以將京豆服務降級,實現交易服務和京豆服務的解耦,做到了系統的高可用。
  • 流量控制:遇到秒殺等流量突增的場景,通過 MQ 還可以實現流量的“削峰填谷”的作用,可以根據下游的處理能力自動調節流量。

不過引入 MQ 雖然實現了系統解耦合流量控制,也會帶來其他問題。

引入 MQ 消息中間件實現系統解耦,會影響系統之間數據傳輸的一致性。 在分布式系統中,如果兩個節點之間存在數據同步,就會帶來數據一致性的問題。同理,在這一講你要解決的就是:消息生產端和消息消費端的消息數據一致性問題(也就是如何確保消息不丟失)。

而引入 MQ 消息中間件解決流量控制, 會使消費端處理能力不足從而導致消息積壓,這也是你要解決的問題。

所以你能發現,問題與問題之間往往是環環相扣的,面試官會借機考察你解決問題思路的連貫性和知識體系的掌握程度。

那面對“在使用 MQ 消息隊列時,如何確保消息不丟失”這個問題時,你要怎么回答呢?首先,你要分析其中有幾個考點,比如:

  • 如何知道有消息丟失?
  • 哪些環節可能丟消息?
  • 如何確保消息不丟失?

候選人在回答時,要先讓面試官知道你的分析思路,然后再提供解決方案:網絡中的數據傳輸不可靠,想要解決如何不丟消息的問題,首先要知道哪些環節可能丟消息,以及我們如何知道消息是否丟失了,最后才是解決方案(而不是上來就直接說自己的解決方案)。就好比“架構設計”“架構”體現了架構師的思考過程,而“設計”才是最后的解決方案,兩者缺一不可。

案例解答

我們首先來看消息丟失的環節,一條消息從生產到消費完成這個過程,可以劃分三個階段,分別為消息生產階段,消息存儲階段和消息消費階段。

圖片圖片

  • 消息生產階段: 從消息被生產出來,然后提交給 MQ 的過程中,只要能正常收到 MQ Broker 的 ack 確認響應,就表示發送成功,所以只要處理好返回值和異常,這個階段是不會出現消息丟失的。
  • 消息存儲階段: 這個階段一般會直接交給 MQ 消息中間件來保證,但是你要了解它的原理,比如 Broker 會做副本,保證一條消息至少同步兩個節點再返回 ack。
  • 消息消費階段: 消費端從 Broker 上拉取消息,只要消費端在收到消息后,不立即發送消費確認給 Broker,而是等到執行完業務邏輯后,再發送消費確認,也能保證消息的不丟失。

方案看似萬無一失,每個階段都能保證消息的不丟失,但在分布式系統中,故障不可避免,作為消息生產端,你并不能保證 MQ 是不是弄丟了你的消息,消費者是否消費了你的消息,所以,本著 Design for Failure 的設計原則,你還是需要一種機制,來 Check 消息是否丟失了。

緊接著,你還可以向面試官闡述怎么進行消息檢測? 總體方案解決思路為:在消息生產端,給每個發出的消息都指定一個全局唯一 ID,或者附加一個連續遞增的版本號,然后在消費端做對應的版本校驗。

具體怎么落地實現呢?你可以利用攔截器機制。 在生產端發送消息之前,通過攔截器將消息版本號注入消息中(版本號可以采用連續遞增的 ID 生成,也可以通過分布式全局唯一 ID生成)。然后在消費端收到消息后,再通過攔截器檢測版本號的連續性或消費狀態,這樣實現的好處是消息檢測的代碼不會侵入到業務代碼中,可以通過單獨的任務來定位丟失的消息,做進一步的排查。

這里需要你注意:如果同時存在多個消息生產端和消息消費端,通過版本號遞增的方式就很難實現了,因為不能保證版本號的唯一性,此時只能通過全局唯一 ID 的方案來進行消息檢測,具體的實現原理和版本號遞增的方式一致。

現在,你已經知道了哪些環節(消息存儲階段、消息消費階段)可能會出問題,并有了如何檢測消息丟失的方案,然后就要給出解決防止消息丟失的設計方案。

回答完“如何確保消息不會丟失?” 之后,面試官通常會追問“怎么解決消息被重復消費的問題? ”

比如:在消息消費的過程中,如果出現失敗的情況,通過補償的機制發送方會執行重試,重試的過程就有可能產生重復的消息,那么如何解決這個問題?

這個問題其實可以換一種說法,就是如何解決消費端冪等性問題(冪等性,就是一條命令,任意多次執行所產生的影響均與一次執行的影響相同),只要消費端具備了冪等性,那么重復消費消息的問題也就解決了。

我們還是來看扣減京豆的例子,將賬戶 X 的金豆個數扣減 100 個,在這個例子中,我們可以通過改造業務邏輯,讓它具備冪等性。

圖片圖片

最簡單的實現方案,就是在數據庫中建一張消息日志表, 這個表有兩個字段:消息 ID 和消息執行狀態。這樣,我們消費消息的邏輯可以變為:在消息日志表中增加一條消息記錄,然后再根據消息記錄,異步操作更新用戶京豆余額。

因為我們每次都會在插入之前檢查是否消息已存在,所以就不會出現一條消息被執行多次的情況,這樣就實現了一個冪等的操作。當然,基于這個思路,不僅可以使用關系型數據庫,也可以通過 Redis 來代替數據庫實現唯一約束的方案。

在這里我多說一句,想要解決“消息丟失”和“消息重復消費”的問題,有一個前提條件就是要實現一個全局唯一 ID 生成的技術方案。這也是面試官喜歡考察的問題,你也要掌握。

在分布式系統中,全局唯一 ID 生成的實現方法有數據庫自增主鍵、UUID、Redis,Twitter-Snowflake 算法,我總結了幾種方案的特點,你可以參考下。

圖片圖片

我提醒你注意,無論哪種方法,如果你想同時滿足簡單、高可用和高性能,就要有取舍,所以你要站在實際的業務中,說明你的選型所考慮的平衡點是什么。我個人在業務中比較傾向于選擇 Snowflake 算法,在項目中也進行了一定的改造,主要是讓算法中的 ID 生成規則更加符合業務特點,以及優化諸如時鐘回撥等問題。

當然,除了“怎么解決消息被重復消費的問題?”之外,面試官還會問到你“消息積壓”。 原因在于消息積壓反映的是性能問題,解決消息積壓問題,可以說明候選者有能力處理高并發場景下的消費能力問題。

你在解答這個問題時,依舊要傳遞給面試官一個這樣的思考過程: 如果出現積壓,那一定是性能問題,想要解決消息從生產到消費上的性能問題,就首先要知道哪些環節可能出現消息積壓,然后在考慮如何解決。

因為消息發送之后才會出現積壓的問題,所以和消息生產端沒有關系,又因為絕大部分的消息隊列單節點都能達到每秒鐘幾萬的處理能力,相對于業務邏輯來說,性能不會出現在中間件的消息存儲上面。毫無疑問,出問題的肯定是消息消費階段,那么從消費端入手,如何回答呢?

如果是線上突發問題,要臨時擴容,增加消費端的數量,與此同時,降級一些非核心的業務。通過擴容和降級承擔流量,這是為了表明你對應急問題的處理能力。

其次,才是排查解決異常問題,如通過監控,日志等手段分析是否消費端的業務邏輯代碼出現了問題,優化消費端的業務處理邏輯。

最后,如果是消費端的處理能力不足,可以通過水平擴容來提供消費端的并發處理能力,但這里有一個考點需要特別注意, 那就是在擴容消費者的實例數的同時,必須同步擴容主題 Topic 的分區數量,確保消費者的實例數和分區數相等。如果消費者的實例數超過了分區數,由于分區是單線程消費,所以這樣的擴容就沒有效果。

比如在 Kafka 中,一個 Topic 可以配置多個 Partition(分區),數據會被寫入到多個分區中,但在消費的時候,Kafka 約定一個分區只能被一個消費者消費,Topic 的分區數量決定了消費的能力,所以,可以通過增加分區來提高消費者的處理能力。

總結

至此,我們講解了 MQ 消息隊列的熱門問題的解決方案,無論是初中級還是高級研發工程師,本篇文章的內容都是你需要掌握的,你都可以從這幾點出發,與面試官進行友好的交流。我來總結一下今天的重點內容。

  • 如何確保消息不會丟失? 你要知道一條消息從發送到消費的每個階段,是否存在丟消息,以及如何監控消息是否丟失,最后才是如何解決問題,方案可以基于“ MQ 的可靠消息投遞 ”的方式。
  • 如何保證消息不被重復消費? 在進行消息補償的時候,一定會存在重復消息的情況,那么如何實現消費端的冪等性就這道題的考點。
  • 如何處理消息積壓問題? 這道題的考點就是如何通過 MQ 實現真正的高性能,回答的思路是,本著解決線上異常為最高優先級,然后通過監控和日志進行排查并優化業務邏輯,最后是擴容消費端和分片的數量。

在回答問題的時候,你需要特別注意的是,讓面試官了解到你的思維過程,這種解決問題的能力是面試官更為看中的,比你直接回答一道面試題更有價值。

另外,如果你應聘的部門是基礎架構部,那么除了要掌握本講中的常見問題的主線知識以外,還要掌握消息中間件的其他知識體系,如:

  • 如何選型消息中間件?
  • 消息中間件中的隊列模型與發布訂閱模型的區別?
  • 為什么消息隊列能實現高吞吐?
  • 序列化、傳輸協議,以及內存管理等問題
  • … >
責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2023-03-30 08:58:26

消息隊列RabbitMQ面試

2022-07-25 06:46:24

MQ中間件消息中間件

2019-04-08 09:31:55

OracleMySQL遷移

2017-09-23 15:17:21

散熱筆記本電腦藍屏

2010-07-07 14:28:52

繪制UML序列圖

2009-01-07 18:02:36

服務器虛擬化數據中心

2021-10-12 00:04:24

腳本備份MariDB

2010-06-13 09:18:45

綜合布線

2017-11-20 10:45:26

數據中心遷移IDC

2017-11-28 10:34:47

數據中心遷移IDC

2013-05-06 15:42:49

2017-09-22 06:58:06

窄帶物聯網NB-IoT物聯網

2011-07-04 16:40:39

QT 串口 QML

2021-08-29 23:40:51

手機華為功能

2012-06-21 09:45:43

虛擬化

2010-06-09 16:57:14

路由選擇協議

2011-05-18 11:31:56

數據安全數據備份

2009-09-07 14:39:14

2011-07-01 09:31:49

.net

2021-03-03 21:24:57

數據倉庫工具
點贊
收藏

51CTO技術棧公眾號

久久国产乱子精品免费女| 在线观看视频一区二区三区| 国产一区二区三区高清播放| 久久国产精品久久久久久久久久| 欧美大片久久久| 黄色成年人视频在线观看| 极品少妇一区二区三区精品视频| 久热精品视频在线| 美女网站视频在线观看| 欧产日产国产精品视频| 国产欧美日韩不卡| 91香蕉亚洲精品| 国产午夜福利片| 免费看日本一区二区| 欧美日韩一区不卡| 69精品丰满人妻无码视频a片| 日韩在线视频免费| 人禽交欧美网站| 欧美日韩国产成人在线| 醉酒壮男gay强迫野外xx| a天堂资源在线| 日本一区二区免费在线 | 日本一区二区三区www| 伊人久久一区二区| 亚洲午夜极品| 亚洲色图13p| 手机看片国产精品| 免费电影日韩网站| 亚洲美腿欧美偷拍| 欧美一级片免费观看| 国产成人三级一区二区在线观看一 | 亚洲中无吗在线| 亚洲白拍色综合图区| 久久久久久香蕉| 国产精品69xx| 综合网在线视频| 欧美精品七区| 欧美一级淫片免费视频魅影视频| 免费久久99精品国产| 久久久亚洲国产| 天天操天天操天天操天天操天天操| 亚洲福利网站| 欧美精品一区二区高清在线观看 | 欧美一区二区视频观看视频| 18岁视频在线观看| 24小时免费看片在线观看| 中文字幕亚洲一区二区av在线| 亚洲xxx大片| 中文字幕日韩第一页| 精品不卡视频| 美女精品视频一区| 一二三四国产精品| 欧美日韩爱爱| 日韩精品视频在线观看网址| 国产一级二级av| 日本免费成人| 91电影在线观看| 男人操女人逼免费视频| ****av在线网毛片| 亚洲国产精品嫩草影院| 999久久欧美人妻一区二区| 久久日韩视频| 国产精品久久久久aaaa樱花| 久久久精品国产一区二区三区| 亚洲AV无码乱码国产精品牛牛| 久草这里只有精品视频| 日韩美女写真福利在线观看| 五月天激情国产综合婷婷婷| 国产精品99免费看| 久久99精品国产99久久6尤物| www欧美com| 午夜精品久久| 欧美激情久久久久| 久久久精品视频免费| 国内精品久久久久久久影视麻豆| 九九热这里只有在线精品视| 免费在线一级片| 伊人久久大香线蕉av超碰演员| 欧美福利视频在线观看| 18精品爽视频在线观看| 亚洲国产高清视频| 91成人在线播放| 日韩黄色片网站| 老司机免费视频一区二区| 国产专区欧美专区| 精品久久久久久亚洲综合网站| 国产伦精品一区二区三区在线观看| 91九色蝌蚪国产| 亚洲福利在线观看视频| www.视频一区| 欧美性大战久久久久| 永久免费av在线| 亚洲美腿欧美偷拍| 欧美日韩在线一| 不卡亚洲精品| 欧美成人三级电影在线| 精品夜夜澡人妻无码av| 日本久久黄色| 欧美高清视频一区二区| 成人午夜淫片100集| 久久精品国产精品亚洲综合| 51国偷自产一区二区三区| 亚洲国产精品欧美久久| 久久亚区不卡日本| 丰满女人性猛交| 九色porny丨入口在线| 欧美视频在线观看 亚洲欧| 国产精彩免费视频| 精品午夜av| 亚洲精品美女久久久| 永久免费毛片在线观看| 中文字幕一区二区精品区| 2025国产精品视频| 97人妻精品一区二区三区| av亚洲产国偷v产偷v自拍| 亚洲不卡1区| 成人高潮aa毛片免费| 欧美在线free| 88av在线播放| 99久久99久久精品国产片桃花| 久久久久久噜噜噜久久久精品| 欧美亚洲另类小说| 粉嫩av亚洲一区二区图片| 日韩电影天堂视频一区二区| av在线最新| 日韩一级片在线播放| 久久久久久九九九九九| 日韩电影免费网址| 欧美又大粗又爽又黄大片视频| 一区二区美女视频| 久久精品一区二区| www.日本在线播放| 日韩在线激情| 国产一区二区动漫| 中文字幕激情小说| 丁香婷婷综合五月| wwwjizzjizzcom| 欧美日韩视频网站| 亚洲精品v天堂中文字幕| 色在线观看视频| 麻豆国产精品视频| 视频一区二区综合| 日韩电影免费观看| 欧美日韩第一区日日骚| 国产一二三四五区| 天堂va蜜桃一区二区三区| 久久手机视频| 性xxxxfreexxxxx欧美丶| 亚洲精品美女久久久久| 成人免费视频毛片| 久久丝袜美腿综合| www.日本xxxx| 日韩在线高清| 91亚洲永久免费精品| 影音先锋男人在线资源| 欧美大片在线观看| 国产大片中文字幕在线观看| 成人h精品动漫一区二区三区| 免费看欧美黑人毛片| 精品综合久久88少妇激情| 性欧美xxxx视频在线观看| 天堂在线视频网站| 欧美日韩国产精品一区| 色一情一交一乱一区二区三区| 日韩和欧美的一区| 一区二区三区观看| 精品一区二区三区亚洲| 午夜精品三级视频福利| 男女视频在线观看| 欧美在线啊v一区| 久久福利免费视频| 成人免费av在线| 男女曰b免费视频| 99久久99久久精品国产片桃花| 亚洲qvod图片区电影| av在线播放资源| 中文字幕日韩av| 亚洲国产精品国自产拍久久| 亚洲成人激情自拍| 一级特黄曰皮片视频| 国产毛片精品国产一区二区三区| 丁香六月激情婷婷| 欧美理论视频| 成人永久免费| 性欧美freehd18| 操日韩av在线电影| 亚洲av电影一区| 欧美高清www午色夜在线视频| 国产亚洲欧美精品久久久www | 男人天堂欧美日韩| 国产高潮呻吟久久久| 日韩激情网站| 亚洲a级在线播放观看| 日韩大片免费观看| 久久成人人人人精品欧| 日本成人一区| 欧美一区二区三区电影| av手机天堂网| 午夜精品爽啪视频| 午夜激情福利网| 久久久不卡网国产精品二区| 亚洲 自拍 另类 欧美 丝袜| 蜜桃av一区| 日韩欧美不卡在线| 91成人观看| 视频一区视频二区视频| 精品成人自拍视频| 2019国产精品视频| 久久久久毛片| 日韩av男人的天堂| 51漫画成人app入口| 欧美成人在线免费视频| 成人免费一区二区三区视频网站| 亚洲国产精品高清久久久| 国产情侣av在线| 欧美亚洲综合色| 亚洲va在线观看| 亚洲3atv精品一区二区三区| fc2ppv在线播放| 欧美激情一区三区| 中文字幕一二三四区| 不卡的av中国片| 动漫av在线免费观看| 极品少妇xxxx精品少妇偷拍| 久久久精品麻豆| 久久狠狠一本精品综合网| 五十路熟女丰满大屁股| 欧美1级日本1级| 国产高潮呻吟久久久| 欧美电影免费观看高清| 欧美中文娱乐网| 少妇一区二区三区| 久久综合狠狠综合久久综青草 | 日韩免费高清视频| 国产精品午夜福利| 337p亚洲精品色噜噜噜| 亚洲一区二区人妻| 欧美日韩视频在线第一区| 成人免费视频国产免费| 欧美视频一区二区三区…| 欧美一区二区三区四| 激情久久av一区av二区av三区| 国产一级淫片免费| 亚洲大片一区二区三区| 在线免费观看毛片| 五月婷婷久久综合| 国产小视频在线免费观看| 天天影视涩香欲综合网| 国产又大又黑又粗免费视频| 激情成人中文字幕| 无码免费一区二区三区| 色综合中文字幕国产| 四虎成人在线观看| 欧洲生活片亚洲生活在线观看| 三级网站在线播放| 欧美综合亚洲图片综合区| 日本成人一级片| 欧美日韩亚洲综合在线| 国产精品一区二区av白丝下载| 7777女厕盗摄久久久| 草草视频在线播放| 亚洲精品成人久久| 蜜桃视频在线观看网站| 一区二区三区视频免费| 免费大片黄在线观看视频网站| 久久久精品视频成人| 四虎影视成人| 欧美在线观看网址综合| 国产私拍福利精品视频二区| 国产精品美乳一区二区免费| 欧美a一级片| 成人免费观看网站| 亚洲涩涩av| 中文字幕剧情在线观看一区| 欧美精品三区| 日本精品一区二区三区四区| 麻豆国产精品一区二区三区 | 免费看一区二区三区| 亚洲最大福利视频| 香蕉久久夜色精品国产更新时间 | 精品麻豆一区二区三区| 欧美国产视频一区二区| 免费福利视频一区二区三区| 91九色视频在线| 亚欧日韩另类中文欧美| 精品一区二区三区av| 欧美色图另类小说| 美女网站色91| 亚洲一区二区三区黄色| 国产日本欧美一区二区| 国产va在线播放| 91久久香蕉国产日韩欧美9色| 一区二区精品视频在线观看| 亚洲精品美女久久久久| 欧美r级在线| 78m国产成人精品视频| 91国产一区| 欧美高清视频一区| 最新精品国产| 国产v亚洲v天堂无码久久久| 东方aⅴ免费观看久久av| 神马久久久久久久久久久| 亚洲国产wwwccc36天堂| 伊人网综合在线| 国产丝袜一区视频在线观看| 日本一级理论片在线大全| 国产成人精品视频在线观看| a级日韩大片| 一级日韩一区在线观看| 蜜桃伊人久久| 亚洲精品乱码久久久久久蜜桃图片| 国产精品欧美经典| 欧美性猛交bbbbb精品| 日韩欧美一二区| 蜜桃视频网站在线观看| 国产成人短视频| 偷拍精品福利视频导航| bt天堂新版中文在线地址| 久久99精品国产麻豆婷婷| av中文字幕免费观看| 午夜成人在线视频| 亚洲国产精品欧美久久| 日韩视频在线免费| 成人黄色免费观看| 日韩免费电影一区二区三区| 国产精品久久777777毛茸茸| 美女流白浆视频| 亚洲人成7777| 国产精品久久久国产盗摄| 丝袜美腿精品国产二区 | 国产在线一区二区三区| 精品久久久久久久久久久aⅴ| 国内精品视频一区二区三区| 国产毛片精品视频| 破处女黄色一级片| 欧美一区二区在线观看| 国产一二区在线| 91精品国产综合久久男男| 日韩国产欧美一区二区| 国产又大又黄又粗的视频| 国产亚洲欧美在线| 最近免费中文字幕大全免费版视频| 日韩高清欧美高清| 偷拍自拍在线看| 欧美18视频| 日韩av中文字幕一区二区| 国产精品815.cc红桃| 精品日本美女福利在线观看| 天天综合在线视频| 青草热久免费精品视频| 国产一卡不卡| www.久久久精品| 亚洲女同女同女同女同女同69| 国产美女裸体无遮挡免费视频| 久久久极品av| 亚洲福利合集| 老太脱裤让老头玩ⅹxxxx| 久久视频一区二区| 最新在线中文字幕| xvideos亚洲人网站| 精品伊人久久| 9久久9毛片又大又硬又粗| 91丨porny丨最新| 国产黄色免费视频| 久久五月天综合| 国产精东传媒成人av电影| 欧美网站免费观看| 国产欧美日韩另类一区| 国产又粗又猛又爽又黄视频| 欧美另类老女人| 日本三级久久| 男人添女人下面免费视频| 亚洲精品国产a久久久久久| 国内爆初菊对白视频| 日av在线播放中文不卡| 色天天久久综合婷婷女18| 亚洲黄色小说在线观看| 福利一区视频在线观看| 视频免费一区| 国产高清在线一区二区| 久久午夜av| 精品国产视频一区二区三区| 亚洲国产黄色片| 久草综合在线| 日韩中字在线观看| 国产精品三级av在线播放| 亚洲精品久久久狠狠狠爱 | 男人天堂2024| 美乳少妇欧美精品| 亚洲香蕉视频| 亚洲欧美激情一区二区三区| 色欧美片视频在线观看在线视频| 国产精品va在线观看视色| 免费一区二区三区在在线视频| 精品一区二区免费在线观看| 91久久国产视频| 久久久国产精彩视频美女艺术照福利| 国产乱人伦精品一区| 五月花丁香婷婷| 一本高清dvd不卡在线观看|