前言
《復仇者聯盟4》(下文《婦聯4》) 將於4月24號上映了,漫威迷們是不是迫不及待了。我雖然不是漫威迷,沒有看過相關漫畫,但是電影確實一步都不落。不過我在想一個問題:假如《婦聯4》是一個微服務,那麼電影院就是一個應用。在這個微服務如此火爆的前提下,影院如何做好管理呢?以上是背景。
影院開張
老王開了一家影院,剛開始影院規模很小,只有一個售票員小李。老王將《婦聯4》即將上映的廣告打出去之後,來諮詢的人絡繹不絕。這下小李不幹了:老闆,這麼多人諮詢已經打亂了我的正常工作了,影院這麼多電影我哪記得住他們什麼時候上映啊。老王犯了愁。小李說:老闆,我給你引薦一個人吧,他們公司專門做這個業務的。他叫Eureka
。
服務註冊和發現-電影的上映和下架
Eureka
來了之後首先在影院裝了一個大顯示螢幕。老闆告訴Eureka
:我們要準備上映《婦聯4》了。於是Eureka
便把《婦聯4》上線了。顯示螢幕展示著最近上線的電影。這樣來電影院看電影的觀眾們就不用在諮詢售票員了。顯示螢幕如下:
客戶端負載均衡-觀眾去哪個廳觀看電影?
小李開開心心的工作者,突然 8001 廳的掃地大媽不樂意了。:小李你咋回事啊,怎麼我這個廳的人這麼多,8002廳的人那麼少,是要累死我啊。老闆見了:哎呀,趙大媽您彆著急,您看我這不是幫你招了個人嗎,以後保證劉大媽的工作量和您保持一致。:趙大媽您好,我是 Ribbon
。:這名字挺洋氣啊,來,你告訴我,你想怎麼解決這個問題。Ribbon
回答:這好說,下面幾種方案,您看你想要哪一種呢?
- 售票員隨機給使用者發一張票,這張票可能是 8001 廳的,也可能是 8002 廳的。(隨機法)
- 我們們IMAX廳工作人員多,服務又好,又寬敞,儘量往那個廳分配。(服務響應最快法)
- 輪著售賣:8001 8002 8001 8002 。。。(輪詢法)
- 聽說大媽您覺得情侶在電影院親親我我不舒服,那我們們就按照男女,男的去8001廳,女的去8002廳.(雜湊法)
- 哪個廳人少,就往哪個廳分配(最少連線法)
大媽您覺得上面幾個方案您還滿意嗎?:滿意,滿意,哎呀,這個Ribbon
小夥子真不錯。於是在Eureka和Ribbon的合作下,電影院正常執行。
熔斷限流-影院有人鬧事
你們老闆呢?賣出去5000張票,電影院這麼小隻能坐2000人,剩下的人咋辦?是啊,退票,退票!隔壁廳也亂起來了,這麼吵還讓不讓人看電影了。 電影院亂成一團,無法正常營業了。老闆只好掛出牌子:暫停營業。辦理退票。Ribbon
跟垂頭喪氣的老闆說:老闆生意好是好事啊,我認識一個朋友或許可以幫你。說曹操,曹操到。:王老闆,你好,我是Hystrix
.:你好,你好,那請問,你要如何幫助我呢?
- 賣票的時候,要求客戶排好隊伍,不要爭搶。上午的200張票已經賣完了,大家下午再來吧 (限流)
- 8001廳突然著火了,不能售賣和觀看了。對不起:《婦聯4》延緩上映,敬請關注。其他影廳不受影響。(熔斷)
服務閘道器-一個檢票員就可以
老王對人事部說:最近我們們又加了 5 個影廳,你在去招 5 個檢票員過來。另外把 8001 的那個檢票員辭了,他竟然私自讓他的好朋友不買票就進去看。:老闆,我們們放映廳多了,不能這麼幹了,我給你介紹一個人,他一個人就可以做好這個事情了。:好,你看著辦吧。
大家好,我是 Zuul
,很抱歉因為我的到來,老闆將你們都辭退了,這是老闆讓我給你們發的遣散費。來一人一百塊錢。眾人罵罵咧咧的走了。
新官上任三把火:
- 影廳入口設立檢票處,不管看什麼電影都從這個入口進。(統一入口)
- 您這張票是假票,不能進入。(服務鑑權)
- 您好,《婦聯4》左邊 8001 廳,《雷神3》往前走 8005 廳。(服務路由)
年會總結
老闆發言:老王電影院自成立以來,承蒙各位大神的幫助。
- Eureka 負責管理電影上下架工作。 (服務註冊和發現)
- Ribbon 負責管理電影票的分發工作 (服務負載均衡)
- Hystrix 負責突發情況的處理和管控 (服務熔斷,限流,隔離等)
- Zuul 負責影票的查驗和影廳的導航工作 (服務統一管理,鑑權,路由等)
結尾
以上部落格是我昨晚睡不著,瞎想的,於是寫出來,有很多理解不到位的地方或者比喻不太對的地方,還請諒解。權當一樂。最後祝大家觀影愉快!