[發(fā)明專利]服務(wù)平滑升級的方法及裝置有效
| 申請?zhí)枺?/td> | 201611205438.9 | 申請日: | 2016-12-23 |
| 公開(公告)號: | CN106850746B | 公開(公告)日: | 2019-11-05 |
| 發(fā)明(設(shè)計)人: | 郝忠秀;任文越 | 申請(專利權(quán))人: | 微夢創(chuàng)科網(wǎng)絡(luò)科技(中國)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京卓嵐智財知識產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 11624 | 代理人: | 任漱晨;張建秀 |
| 地址: | 100193 北京市海淀區(qū)東北旺西路中關(guān)村*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 服務(wù) 平滑 升級 方法 裝置 | ||
本發(fā)明實施例提供一種服務(wù)平滑升級的方法及裝置,該方法包括:將多個新版服務(wù)節(jié)點注冊到第一服務(wù)組,并將所述第一服務(wù)組注冊到服務(wù)發(fā)現(xiàn)應(yīng)用程序中;從所述服務(wù)發(fā)現(xiàn)應(yīng)用程序中對待下線的包括多個舊版服務(wù)節(jié)點的第二服務(wù)組執(zhí)行模擬下線,并將新的請求事務(wù)全部連接到所述多個新版服務(wù)節(jié)點上,使所述多個舊版服務(wù)節(jié)點停止接收新的請求事務(wù),僅處理在模擬下線之前接收到的待處理的請求事務(wù);當(dāng)所述第二服務(wù)組中的舊版服務(wù)節(jié)點將待處理的請求事務(wù)處理完成后,將所述舊版服務(wù)節(jié)點停止服務(wù)。該方法可以確保在升級的過程中沒有未完成的請求事務(wù),盡可能地避免服務(wù)的抖動,降低了服務(wù)在升級中因多個節(jié)點頻繁變更導(dǎo)致的服務(wù)頻繁抖動的情況,實現(xiàn)了平滑升級。
技術(shù)領(lǐng)域
本發(fā)明涉及服務(wù)升級技術(shù)領(lǐng)域,具體涉及一種服務(wù)平滑升級的方法及裝置。
背景技術(shù)
服務(wù)發(fā)現(xiàn)(Service Discovery)組件記錄了大規(guī)模分布式系統(tǒng)中所有服務(wù)的信息,人們或者其它服務(wù)可以據(jù)此找到這些服務(wù)。DNS就是一個簡單的例子。當(dāng)然,復(fù)雜系統(tǒng)的服務(wù)發(fā)現(xiàn)組件要提供更多的功能,例如,服務(wù)元數(shù)據(jù)存儲、健康監(jiān)控、多種查詢和實時更新等。服務(wù)發(fā)現(xiàn)提供了一種協(xié)調(diào)機(jī)制,方便服務(wù)的發(fā)布和查找。服務(wù)發(fā)現(xiàn)的主要好處是零配置:不用使用硬編碼的網(wǎng)絡(luò)地址,只需服務(wù)的名字就能使用服務(wù)。
業(yè)界提供了很多種服務(wù)發(fā)現(xiàn)解決方案:
人們已經(jīng)使用DNS很長時間了,DNS可能是現(xiàn)有的最大的服務(wù)發(fā)現(xiàn)系統(tǒng)。小規(guī)模系統(tǒng)可以先使用DNS作為服務(wù)發(fā)現(xiàn)手段。一旦服務(wù)節(jié)點的啟動和銷毀變得更加動態(tài),DNS就有問題了,因為DNS記錄傳播的速度可能跟不上服務(wù)節(jié)點變化的速度。
ZooKeeper大概是最成熟的配置存儲方案,它的歷史比較長,提供了包括配置管理、領(lǐng)導(dǎo)人選舉和分布式鎖在內(nèi)的完整解決方案。因此,ZooKeeper是非常有競爭力的通用的服務(wù)發(fā)現(xiàn)解決方案,當(dāng)然,它也顯得過于復(fù)雜。
Etcd和doozerd是新近出現(xiàn)的服務(wù)發(fā)現(xiàn)解決方案,它們與ZooKeeper具有相似的架構(gòu)和功能,因此可與ZooKeeper互換使用。
圖1是現(xiàn)有技術(shù)的一種服務(wù)發(fā)現(xiàn)原理示意圖,如圖1所示,在服務(wù)啟動的時候?qū)⑵浞?wù)的IP和端口注冊到一個分布式存儲集群etcd(一個開源的、高可用的鍵值存儲系統(tǒng)/鍵值存儲倉庫,主要用于共享配置和服務(wù)發(fā)現(xiàn),etcd是專門為集群環(huán)境的服務(wù)發(fā)現(xiàn)和注冊而設(shè)計,它提供了數(shù)據(jù)改變監(jiān)視、目錄監(jiān)聽、分布式鎖原子操作等功能,可以方便地跟蹤并管理集群節(jié)點的狀態(tài))中,有另外一個監(jiān)聽服務(wù)變化的模塊負(fù)責(zé)實時監(jiān)聽代理服務(wù)列表的變化,如果發(fā)生變化則會更新代理服務(wù)的列表,當(dāng)其中一個服務(wù)停止服務(wù)時,會從etcd存儲中刪除掉,監(jiān)聽服務(wù)也會對應(yīng)地更新代理服務(wù)列表。Nginx是一個代理服務(wù)中間件。
圖2是現(xiàn)有技術(shù)的服務(wù)停止時摘除該服務(wù)的示意圖,如圖2所示,當(dāng)節(jié)點服務(wù)節(jié)點1停止服務(wù)時,將從etcd中刪除描述信息,監(jiān)聽服務(wù)立即會從代理服務(wù)上將節(jié)點1的服務(wù)摘除掉。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:
現(xiàn)有的技術(shù)實現(xiàn)原理如上面介紹的可以實現(xiàn)服務(wù)的注冊發(fā)現(xiàn),并且當(dāng)某個服務(wù)停止服務(wù)時也可以實時地將其摘除掉,在大部分情況下是沒有問題的,但是如果要升級某個服務(wù)或者灰度測試某個服務(wù)時,服務(wù)節(jié)點會頻繁變更,一般都是先將新服務(wù)節(jié)點啟動,然后將舊的服務(wù)節(jié)點關(guān)閉掉,這樣對于服務(wù)發(fā)現(xiàn)內(nèi)部會發(fā)生兩次服務(wù)列表變更,意味著代理服務(wù)將需要有2次變更配置,代理服務(wù)在進(jìn)行配置變更時會發(fā)生服務(wù)抖動的情況。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種服務(wù)平滑升級的方法及裝置,以克服代理服務(wù)在進(jìn)行配置變更時會發(fā)生服務(wù)抖動的情況。
一方面,本發(fā)明實施例提供了一種服務(wù)平滑升級的方法,其包括:
將多個新版服務(wù)節(jié)點注冊到第一服務(wù)組,并將所述第一服務(wù)組注冊到服務(wù)發(fā)現(xiàn)應(yīng)用程序中;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微夢創(chuàng)科網(wǎng)絡(luò)科技(中國)有限公司,未經(jīng)微夢創(chuàng)科網(wǎng)絡(luò)科技(中國)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611205438.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 服務(wù)票據(jù)發(fā)行系統(tǒng)及服務(wù)票據(jù)發(fā)行服務(wù)
- 出租服務(wù)服務(wù)器和出租服務(wù)系統(tǒng)
- 服務(wù)開放方法及系統(tǒng)、服務(wù)開放服務(wù)器
- 基于服務(wù)券服務(wù)的在線企業(yè)服務(wù)平臺
- 退稅服務(wù)系統(tǒng)、退稅服務(wù)平臺及其服務(wù)方法
- 服務(wù)亭(服務(wù)驛站)
- 公共服務(wù)自助服務(wù)機(jī)
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法





