-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
微服務(wù)平臺(tái)(微服務(wù)平臺(tái)被騙了)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于微服務(wù)平臺(tái)的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、微服務(wù)架構(gòu)之服務(wù)注冊(cè)與發(fā)現(xiàn)(一)
一、服務(wù)注冊(cè)中心的由來(lái)
假如沒(méi)有服務(wù)注冊(cè)中心,我們會(huì)干些什么事情呢?
在傳統(tǒng)行業(yè)的項(xiàng)目架構(gòu)中以下的方案最為常見(jiàn)了:
這種架構(gòu)開(kāi)發(fā)、部署都是最簡(jiǎn)單的,一般適用于中小企業(yè)訪問(wèn)量并不是太多的情況下,各個(gè)系統(tǒng)服務(wù)一臺(tái)機(jī)器就搞定了。系統(tǒng)之間的調(diào)用也是拿到對(duì)方的IP+PORT直接連接。
接下來(lái)可能因?yàn)閼?yīng)用B開(kāi)始訪問(wèn)量大了,單臺(tái)機(jī)器已經(jīng)不能滿足我們的需求,于是一些反向代理工具應(yīng)運(yùn)而出,其中比較常見(jiàn)的有Apache、Nigix,架構(gòu)演變?yōu)椋?/p>
相比之前的應(yīng)用B的單臺(tái)機(jī)器訪問(wèn),這種nginx代理的方式減輕了服務(wù)器的壓力,但是可能會(huì)出現(xiàn)Nginx掛了,那么整個(gè)服務(wù)也不可用,于是又來(lái)了這么一套架構(gòu):
這樣看方案算是完美了吧。然后事情并不是想象的那么一帆風(fēng)順,這還只是應(yīng)用A調(diào)用一個(gè)應(yīng)用B,如果應(yīng)用A調(diào)用的可能是應(yīng)用B、C、D、E...,這種完全就不知道他后面到底還想干嘛,這種架構(gòu)看似可以,但是絕對(duì)會(huì)累死運(yùn)維的(nginx的配置將會(huì)非?;靵y,直接導(dǎo)致運(yùn)維不干了)。
服務(wù)注冊(cè)中心干些什么事情呢?
上面提到的那種靠人力(主要是運(yùn)維干的事情)比較繁瑣,還不好維護(hù),有這么幾點(diǎn)不方便:應(yīng)用服務(wù)的地址變了、雙十一搞活動(dòng)服務(wù)器新增等等。那么我們可以有這么的一種架構(gòu):
服務(wù)注冊(cè)中心主要是維護(hù)各個(gè)應(yīng)用服務(wù)的ip+port列表,并保持與各應(yīng)用服務(wù)的通訊,在一定時(shí)間間隔內(nèi)進(jìn)行心跳檢測(cè),如果心跳不能到達(dá)則對(duì)服務(wù)IP列表進(jìn)行剔除,并同時(shí)通知給其它應(yīng)用服務(wù)進(jìn)行更新。同樣要是有新增的服務(wù)進(jìn)來(lái),應(yīng)用服務(wù)會(huì)向注冊(cè)中心進(jìn)行注冊(cè),服務(wù)注冊(cè)中心將通知給其它應(yīng)用進(jìn)行更新。每個(gè)應(yīng)用都有需要調(diào)用對(duì)應(yīng)應(yīng)用服務(wù)的地址列表,這樣在進(jìn)行調(diào)用時(shí)只要處理客戶負(fù)載雜均衡即可。
二、微服務(wù)注冊(cè)中心
1.Zookeeper
ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。
上面的話直接摘抄百度百科的內(nèi)容,國(guó)內(nèi)很多公司做分布式開(kāi)發(fā)最初的選型大部分都是采用dubbo框架。dubbo框架注冊(cè)中心主要使用zookeeper。zookeeper服務(wù)端與客戶端的底層通訊為netty。zookeeper采用CAP理論中的CP,一般集群部署最少需要3臺(tái)機(jī)器。
2.Euraka
先來(lái)看一下euraka的架構(gòu)圖:
Register:服務(wù)注冊(cè)
當(dāng)Eureka客戶端向Eureka Server注冊(cè)時(shí),它提供自身的元數(shù)據(jù),比如IP地址、端口,運(yùn)行狀況指示符URL,主頁(yè)等。
Renew:服務(wù)續(xù)約
Eureka客戶會(huì)每隔30秒發(fā)送一次心跳來(lái)續(xù)約。 通過(guò)續(xù)約來(lái)告知Eureka Server該Eureka客戶仍然存在,沒(méi)有出現(xiàn)問(wèn)題。 正常情況下,如果Eureka Server在90秒沒(méi)有收到Eureka客戶的續(xù)約,它會(huì)將實(shí)例從其注冊(cè)表中刪除。 建議不要更改續(xù)約間隔。
Fetch Registries:獲取注冊(cè)列表信息
Eureka客戶端從服務(wù)器獲取注冊(cè)表信息,并將其緩存在本地??蛻舳藭?huì)使用該信息查找其他服務(wù),從而進(jìn)行遠(yuǎn)程調(diào)用。該注冊(cè)列表信息定期(每30秒鐘)更新一次。每次返回注冊(cè)列表信息可能與Eureka客戶端的緩存信息不同, Eureka客戶端自動(dòng)處理。如果由于某種原因?qū)е伦?cè)列表信息不能及時(shí)匹配,Eureka客戶端則會(huì)重新獲取整個(gè)注冊(cè)表信息。 Eureka服務(wù)器緩存注冊(cè)列表信息,整個(gè)注冊(cè)表以及每個(gè)應(yīng)用程序的信息進(jìn)行了壓縮,壓縮內(nèi)容和沒(méi)有壓縮的內(nèi)容完全相同。Eureka客戶端和Eureka 服務(wù)器可以使用JSON / XML格式進(jìn)行通訊。在默認(rèn)的情況下Eureka客戶端使用壓縮JSON格式來(lái)獲取注冊(cè)列表的信息。
Cancel:服務(wù)下線
Eureka客戶端在程序關(guān)閉時(shí)向Eureka服務(wù)器發(fā)送取消請(qǐng)求。 發(fā)送請(qǐng)求后,該客戶端實(shí)例信息將從服務(wù)器的實(shí)例注冊(cè)表中刪除。該下線請(qǐng)求不會(huì)自動(dòng)完成,它需要調(diào)用以下內(nèi)容:
DiscoveryManager.getInstance().shutdownComponent();
Eviction 服務(wù)剔除
在默認(rèn)的情況下,當(dāng)Eureka客戶端連續(xù)90秒沒(méi)有向Eureka服務(wù)器發(fā)送服務(wù)續(xù)約,即心跳,Eureka服務(wù)器會(huì)將該服務(wù)實(shí)例從服務(wù)注冊(cè)列表刪除,即服務(wù)剔除。
自我保護(hù)機(jī)制:
既然Eureka Server會(huì)定時(shí)剔除超時(shí)沒(méi)有續(xù)約的服務(wù),那就有可能出現(xiàn)一種場(chǎng)景,網(wǎng)絡(luò)一段時(shí)間內(nèi)發(fā)生了 異常,所有的服務(wù)都沒(méi)能夠進(jìn)行續(xù)約,Eureka Server就把所有的服務(wù)都剔除了,這樣顯然不太合理。所以,就有了 自我保護(hù)機(jī)制,當(dāng)短時(shí)間內(nèi),統(tǒng)計(jì)續(xù)約失敗的比例,如果達(dá)到一定閾值,則會(huì)觸發(fā)自我保護(hù)的機(jī)制,在該機(jī)制下, Eureka Server不會(huì)剔除任何的微服務(wù),等到正常后,再退出自我保護(hù)機(jī)制。自我保護(hù)開(kāi)關(guān)(eureka.server.enableself-preservation: false)
3.Consul
consul推薦的架構(gòu)圖:
Consul不像Euraka的部署那么簡(jiǎn)單,他是go語(yǔ)言開(kāi)發(fā)的,需要運(yùn)維單獨(dú)部署,有提供java的客戶端連接,采用的是CAP的CP。
4.Nacos
Euraka是Spring Cloud Netflix早期版本中推薦使用的,后來(lái)euraka1.0版本不再維護(hù),euraka2.0已經(jīng)閉源,導(dǎo)致很多新項(xiàng)目基于Spring Cloud Netflix 開(kāi)發(fā)的選型變遷為Consul.
Nacos是阿里開(kāi)源的服務(wù)注冊(cè)中心,它可以與spring cloud aliaba集成使用。
Nacos的官方介紹:
Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置管理、服務(wù)及流量管理。
Nacos 幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺(tái)。 Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu)(例如微服務(wù)范式、云原生范式)的服務(wù)基礎(chǔ)設(shè)施。
Nacos 地圖
Nacos 生態(tài)圖
如 Nacos 全景圖所示,Nacos 無(wú)縫支持一些主流的開(kāi)源生態(tài),例如
Spring Cloud
Apache Dubbo and Dubbo Mesh TODO
Kubernetes and CNCF TODO
三、服務(wù)注冊(cè)與發(fā)現(xiàn)技術(shù)選型
以下是來(lái)自網(wǎng)上的一個(gè)分享:
除了上述的幾種以外,筆者更推薦使用Nacos作為服務(wù)注冊(cè)中心。
推薦理由:
Nacos服務(wù)注冊(cè)表結(jié)構(gòu)Map<namespace, Map<group::serviceName, Service>>采用多層次Map結(jié)構(gòu),控制的顆粒度更細(xì),支持金絲雀模式發(fā)布,心跳同步機(jī)制也更快速,服務(wù)更新更及時(shí)。
二、微服務(wù)架構(gòu)的優(yōu)缺點(diǎn)
微服務(wù)架構(gòu)的優(yōu)缺點(diǎn)具體如下:
優(yōu)點(diǎn):服務(wù)的獨(dú)立部署:每個(gè)服務(wù)都是一個(gè)獨(dú)立的項(xiàng)目,可以獨(dú)立部署,不依賴于其他服務(wù),耦合性低;服務(wù)的快速啟動(dòng):拆分之后服務(wù)啟動(dòng)的速度必然要比拆分之前快很多,因?yàn)橐蕾嚨膸?kù)少了,代碼量也少了。
更加適合敏捷開(kāi)發(fā):敏捷開(kāi)發(fā)以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行。服務(wù)拆分可以快速發(fā)布新版本,修改哪個(gè)服務(wù)只需要發(fā)布對(duì)應(yīng)的服務(wù)即可,不用整體重新發(fā)布;職責(zé)專一,由專門的團(tuán)隊(duì)負(fù)責(zé)專門的服務(wù):業(yè)務(wù)發(fā)展迅速時(shí),研發(fā)人員也會(huì)越來(lái)越多,每個(gè)團(tuán)隊(duì)可以負(fù)責(zé)對(duì)應(yīng)的業(yè)務(wù)線,服務(wù)的拆分有利于團(tuán)隊(duì)之間的分工。
服務(wù)可以動(dòng)態(tài)按需擴(kuò)容:當(dāng)某個(gè)服務(wù)的訪問(wèn)量較大時(shí),我們只需要將這個(gè)服務(wù)擴(kuò)容即可;代碼的復(fù)用:每個(gè)服務(wù)都提供RESTAPI,所有的基礎(chǔ)服務(wù)都必須抽出來(lái),很多的底層實(shí)現(xiàn)都可以以接口方式提供。
缺點(diǎn):分布式部署,調(diào)用的復(fù)雜性高:?jiǎn)误w應(yīng)用的時(shí)候,所有模塊之前的調(diào)用都是在本地進(jìn)行的,在微服務(wù)中,每個(gè)模塊都是獨(dú)立部署的,通過(guò)HTTP來(lái)進(jìn)行通信,這當(dāng)中會(huì)產(chǎn)生很多問(wèn)題,比如網(wǎng)絡(luò)問(wèn)題、容錯(cuò)問(wèn)題、調(diào)用關(guān)系等。
測(cè)試的難度提升:服務(wù)和服務(wù)之間通過(guò)接口來(lái)交互,當(dāng)接口有改變的時(shí)候,對(duì)所有的調(diào)用方都是有影響的,這時(shí)自動(dòng)化測(cè)試就顯得非常重要了,如果要靠人工一個(gè)個(gè)接口去測(cè)試,那工作量就太大了。這里要強(qiáng)調(diào)一點(diǎn),就是API文檔的管理尤為重要。
運(yùn)維難度的提升:在采用傳統(tǒng)的單體應(yīng)用時(shí),我們可能只需要關(guān)注一個(gè)Tomcat的集群、一個(gè) MySQL的集群就可以了,但這在微服務(wù)架構(gòu)下是行不通的。當(dāng)業(yè)務(wù)增加時(shí),服務(wù)也將越來(lái)越多,服務(wù)的部署、監(jiān)控將變得非常復(fù)雜,這個(gè)時(shí)候?qū)τ谶\(yùn)維的要求就高了。
微服務(wù)架構(gòu)
是一項(xiàng)在云中圍繞業(yè)務(wù)領(lǐng)域組件來(lái)創(chuàng)建和部署應(yīng)用和服務(wù)的新技術(shù),由MartinFowler于2012年提出。微服務(wù)架構(gòu)構(gòu)建的工具是Seneca,基本思想在于創(chuàng)建的應(yīng)用可獨(dú)立地進(jìn)行開(kāi)發(fā)、管理和加速,在分散的組件中使用微服務(wù)云架構(gòu)和平臺(tái),使服務(wù)等功能的交付變得更加簡(jiǎn)單。
微服務(wù)架構(gòu)現(xiàn)狀
微服務(wù)作為一項(xiàng)在云中部署應(yīng)用和服務(wù)的新技術(shù)已成為當(dāng)下最新的熱門話題。但大部分圍繞微服務(wù)的爭(zhēng)論都集中在容器或其他技術(shù)是否能很好的實(shí)施微服務(wù),而紅帽說(shuō)API應(yīng)該是重點(diǎn)。
企業(yè)和服務(wù)提供商正在尋找更好的方法將應(yīng)用程序部署在云環(huán)境中,微服務(wù)被認(rèn)為是未來(lái)的方向。通過(guò)將應(yīng)用和服務(wù)分解成更小的、松散耦合的組件,它們可以更加容易升級(jí)和擴(kuò)展,理論上是這樣。
三、校園微服務(wù)平臺(tái)怎么退出綁定?
如何登陸校園網(wǎng)自服務(wù)平臺(tái)刪除綁定MAC地址的說(shuō)明
一、登入校園網(wǎng)主頁(yè)點(diǎn)擊網(wǎng)絡(luò)服務(wù)
二、點(diǎn)擊校園網(wǎng)自服務(wù),進(jìn)入校園網(wǎng)自服務(wù)平臺(tái)。輸入賬號(hào)和密碼,賬號(hào)密碼均于個(gè)人上網(wǎng)認(rèn)證賬號(hào)密碼一致。
三、 登錄校園網(wǎng)自服務(wù)平臺(tái)后,依次點(diǎn)擊左側(cè)自服務(wù)菜單中的“用戶”-->“操作”欄目,如下圖:
四、查看“操作”欄具體信息中的MAC地址是否與個(gè)人接入校園網(wǎng)所用終端設(shè)備(手機(jī),平板、筆記本電腦)的MAC地址一致,如有不一致者,點(diǎn)擊刪除即可,并及時(shí)修改密碼。查看個(gè)人終端設(shè)備MAC地址見(jiàn)下圖:
1.微軟操作系統(tǒng)(Windows)終端
“控制面板”-->“網(wǎng)絡(luò)和Internet”-->“網(wǎng)絡(luò)和共享中心”
2.IOS系統(tǒng)終端
依次點(diǎn)擊“設(shè)置”-->“通用”-->“關(guān)于本機(jī)”,如下圖
3.Android系統(tǒng)終端
依次點(diǎn)擊“設(shè)置”-->“WLAN”-->“WLAN高級(jí)設(shè)置”,如下圖
四、什么是微服務(wù)?
即軟件架構(gòu),使用微服務(wù)架構(gòu)可以將一個(gè)大型的應(yīng)用程序按照功能模塊拆分成多個(gè)獨(dú)立自治的微服務(wù),每個(gè)微服務(wù)僅僅實(shí)現(xiàn)一種功能,具有很明確的邊界。想要了解更多,我推薦你去看看時(shí)速云,他們是一家全棧云原生技術(shù)服務(wù)提供商,提供云原生應(yīng)用及數(shù)據(jù)平臺(tái)產(chǎn)品,其中涵蓋容器云PaaS、DevOps、微服務(wù)治理、服務(wù)網(wǎng)格、API網(wǎng)關(guān)等。大家可以去體驗(yàn)一下。
希望能給您提供幫助,可以給個(gè)大大的贊不。
以上就是關(guān)于微服務(wù)平臺(tái)相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
微服務(wù)平臺(tái)(微服務(wù)平臺(tái)被騙了)
抖音2000和500押金開(kāi)店(抖音500保證金退不了)
艾米麗卡爾藝術(shù)與設(shè)計(jì)大學(xué)(艾米麗卡爾藝術(shù)與設(shè)計(jì)大學(xué)世界排名)