999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談微服務架構

2020-06-24 03:06:44楊宸田晴金新穎
中國新通信 2020年2期

楊宸 田晴 金新穎

摘 要:在軟件開發(fā)的過程中,架構是難解的問題。開發(fā)一個軟件就好比蓋造樓房,一個簡單的房屋或許不需要架構圖來規(guī)范它的蓋造,但是一座摩天大樓必然需要詳細的架構分析圖來規(guī)范包工隊伍的行為,開發(fā)一款高質量的軟件也不例外。 下面來圍繞兩個我們認為需要解決的問題來出發(fā),介紹微服務架構在當今互聯(lián)網(wǎng)環(huán)境實現(xiàn)的必要性,以及在當今互聯(lián)網(wǎng)環(huán)境的缺點的解決方案。

關鍵詞:單體架構;垂直拆分架構;分布式架構;面向服務架構;微服務架構;REST風格

一、解決高并發(fā),高可用問題

1.1問題簡介

當今世界網(wǎng)民已經(jīng)達到40億,早已不是幾臺服務器就能承擔的,根據(jù)二八原則80%的用戶,在20%的時間點訪問網(wǎng)站,如果它的服務器解決不了并發(fā)壓力,就會降低用戶體驗。

1.2研究分析

在此問題上,有人提出了對單體架構的水平擴充。但是,根據(jù)二八原則80%的業(yè)務功能集中在20%的代碼,代碼的冗余會造成資源的浪費。那該怎么辦呢?

第二個架構垂直拆分架構閃亮登場,它依據(jù)業(yè)務功能把我們的項目拆分成一個又一個的子項目,從而在解決并發(fā)問題上根據(jù)我們的業(yè)務功能模塊進行擴充,節(jié)省了資源。但是它的弊端在長期開發(fā)中也出現(xiàn)了,他的模塊之間是沒有通信的。舉個例子:一個主要的業(yè)務模塊依賴于一個并發(fā)量較低的權限模塊,業(yè)務模塊不得不編寫權限模塊的代碼,從而浪費了服務器的資源。

之前有Java程序員嘗試過用Java的RMI(遠程方法調用)來解決這個問題,但是RMI底層使用字節(jié)傳輸?shù)模瑯O容易被黑客偽造,這種架構后來也消失在人們的視野中,但垂直拆分架構一定程度上解決了高并發(fā)的問題。

二、開發(fā)效率

2.1問題簡介

在公司中尤其是面向用戶的互聯(lián)網(wǎng)公司,如果不能按時更新,勢必會降低自己的口碑,降低用戶體驗。因此架構的改變也改變了開發(fā)模式的改變。

前面說到為了解決高并發(fā)的問題,聰明的軟件開發(fā)者們把架構垂直拆分,但是也產(chǎn)生了拆分后的項目之間無法通信的問題。

2.2研究分析

第三種主流架構——分布式架構,悠然而生,通過模塊之間的鑒權,允許模塊之間進行遠程通信,開發(fā)人員也徹底解放:開發(fā)模式不再是十幾個人、幾百個人對著一個項目改來改去,而是按照模塊獨立開發(fā),模塊之間的調用關系安排專門的人以文檔的形式來顯示。在很長的一段時期中,這種架構堪稱盛行,但很快他的弊病也顯示了出來:當模塊越來越多時,調用關系錯綜復雜,系統(tǒng)的耦合度增高,系統(tǒng)難以維護。舉個例子:假如你有20個模塊,最多有190種通信聯(lián)系,用戶想要改變需求,要求增加新功能,那么在原有的通信關系上加上新的模塊和關系將會是一個大工程,這樣開發(fā)效率不但沒有減少,反而隨著項目的增加而增大了,因為你要維護復雜的通信關系。同時,當模塊集群部署時,怎么控制用戶應該去訪問的模塊呢?

第四種,面向服務架構(SOA),當服務越來越多、小服務資源逐漸顯現(xiàn),我們需要增加調度中心(常見:Nginx反向代理服務器)來管理集群壓力,把用戶的請求按訪問壓力進行路由。這種架構解決了外部需求和內部模塊的訪問路由,但是仍然沒有解決模塊內的調度解決方案。

為了解決開發(fā)效率以及模塊間的通信問題,微服務架構產(chǎn)生了。它規(guī)定:1.每一個模塊稱為一個服務,職責單一;2.對外暴露一種面向資源的REST風格接口,不關心技術的實現(xiàn);3.自治,每個服務對應一個數(shù)據(jù)庫,小團隊自治。我們發(fā)現(xiàn),滿足微服務架構的原則就好像云服務的感覺一樣,只不過每一個服務都是為了這個項目、這個用戶的需求而生的,一個開發(fā)團隊可以拆分成若干個互不干擾的開發(fā)團隊一樣,實現(xiàn)了開發(fā)的解耦,從而大大的提高了開發(fā)效率。當然實現(xiàn)微服務架構必然也要處理之前產(chǎn)生的架構問題,并且又出現(xiàn)了新的問題。

在解決服務(之前的模塊)之間通信上,因為架構規(guī)定每一個服務會對外暴露REST風格接口,因此該架構的技術都提供了一個服務注冊中心(比如:只有在滴滴上注冊的網(wǎng)約車才能被用戶找到),只有在注冊中心的服務才能被其他服務找到,并且依賴關系全部由注冊中心來管理,這樣復雜的通信關系再也不需要人為管理,用戶需要添加新的模塊我們只需要在注冊中心注冊一下即可,大大加快了開發(fā)的效率。因為服務之間是集群部署,實現(xiàn)微服務架構必須應用負載均衡框架和基于熔斷原理的框架,當一個服務掛掉時,路由到集群中其他的服務,當服務集群超過大比例掛掉時熔斷器打開,避免影響核心業(yè)務服務,這也就是說不僅開發(fā)自治,服務也是自治的。舉個例子:網(wǎng)上購物時,訂單服務掛掉不影響我們把商品加入購物車,這也是微服務的優(yōu)點之一。

受到SOA的啟發(fā),服務外調用服務需要鑒權,服務內之間的調用實際上是第三方注冊中心動態(tài)代理的,其通信協(xié)議基于框架技術的協(xié)議,那么意味著內部服務之間也是需要鑒權的。而微服務需要對外暴露REST風格的接口,而該風格最大特點就是無狀態(tài)性和表屬性狀態(tài)轉移。

我們來試想一下:Tomcat服務器需要保留用戶登陸的sessionID,客戶端cookie中保存登陸信息,以這種狀態(tài)的保存來判斷用戶登陸。但是REST風格不允許,我們需要請求通過掛載token(可以理解客戶端的身份證)來判斷用戶登陸的狀態(tài),也就是說每一個請求必須有token的存在,那么內部服務調用也需要攜帶token,那么有20個模塊,你就要寫20次掛載代碼?網(wǎng)關的出現(xiàn),解決了這個問題,網(wǎng)關攔截所有的內、外部服務請求,實現(xiàn)鑒權,過濾,路由,熔斷,代理的功能。網(wǎng)關通過鑒權判斷你的請求是否合法,然后路由到對應的服務,服務的REST接口返回到網(wǎng)關動態(tài)代理調用,這樣我們在網(wǎng)關就可以解決所有的服務之間的邏輯。當然網(wǎng)關也要集群,這樣我們還是要沿用SOA架構的形式,用反向代理服務器路由網(wǎng)關即可。

三、結語

本文中,提到了兩個問題需要解決。在解決問題途中,提到:提出了對單體架構的水平擴充,但會造成資源的浪費;把架構垂直拆分解決了高并發(fā)、高可用問題,但也產(chǎn)生了拆分后的項目之間無法通信的問題;為了解決通信問題,又提出了分布式架構,卻容易造成系統(tǒng)難以維護;又有了面向服務架構來解決訪問路由;直到微服務架構的產(chǎn)生。我們深入分析了微服務架構在當今互聯(lián)網(wǎng)環(huán)境實現(xiàn)的必要性,提出了其在當今互聯(lián)網(wǎng)環(huán)境的缺點的解決方案。架構的發(fā)展是對“摩天大樓”的不斷完善,讓我們不斷向上延申了大樓的高度。

作者簡介:

楊宸(2000-)北華航天工業(yè)學院計算機學院就讀,研究方向軟件工程。

田 晴(2002-)北華航天工業(yè)學院計算機學院就讀,研究方向軟件工程。

金新穎(1999-)北華航天工業(yè)學院就讀,研究方向計算機科學與技術。

主站蜘蛛池模板: 久久久久免费看成人影片 | 久久综合九色综合97婷婷| 精品视频在线一区| 40岁成熟女人牲交片免费| 无码人中文字幕| 亚洲无线国产观看| 综合色在线| 亚洲精品图区| 思思99思思久久最新精品| 亚洲首页国产精品丝袜| 中文字幕精品一区二区三区视频| 亚洲第一黄片大全| 国产精品久久精品| 午夜毛片免费观看视频 | 精品欧美一区二区三区久久久| 国产亚洲欧美日韩在线观看一区二区 | 精品无码国产一区二区三区AV| 一级毛片免费播放视频| 色亚洲激情综合精品无码视频| 美女啪啪无遮挡| 男女男免费视频网站国产| 2021亚洲精品不卡a| 久久性妇女精品免费| 好吊妞欧美视频免费| 中文字幕资源站| 人妻无码一区二区视频| 精品一区二区三区中文字幕| 一区二区三区国产精品视频| 真人免费一级毛片一区二区| 精品成人一区二区三区电影| 国产理论一区| 在线观看国产一区二区三区99| 国产日韩久久久久无码精品| 在线观看亚洲天堂| 亚洲国产天堂在线观看| 在线免费a视频| 不卡无码h在线观看| 国产黑丝视频在线观看| 亚洲综合天堂网| 午夜精品久久久久久久2023| 欧美亚洲国产精品第一页| 国产激爽爽爽大片在线观看| 亚洲日韩精品无码专区97| 麻豆国产在线观看一区二区| 国产麻豆精品手机在线观看| 国产成人精品综合| 四虎精品国产AV二区| 欧美翘臀一区二区三区| 国产成人福利在线视老湿机| 一个色综合久久| 日本成人一区| 国产成人三级| 朝桐光一区二区| 亚洲日本中文字幕乱码中文| 中文无码日韩精品| 欧美在线网| 91毛片网| 特级做a爰片毛片免费69| 欧美曰批视频免费播放免费| 26uuu国产精品视频| 国产一级α片| 91网站国产| 亚洲成a人在线观看| 十八禁美女裸体网站| 天天综合天天综合| 久久综合干| 亚洲人成色在线观看| 91精品专区| 久久免费视频6| 青青草国产在线视频| 手机成人午夜在线视频| 中文字幕亚洲乱码熟女1区2区| 天天综合网色| 亚洲欧美在线精品一区二区| 在线看国产精品| 国产麻豆永久视频| 久久久久九九精品影院| 亚洲午夜天堂| 亚洲成网站| 成人一级免费视频| 在线国产你懂的| 九色国产在线|