成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

芭比扣了!Nacos中服務(wù)刪除不了,腫么辦?

開發(fā)
前兩天遇到了一個(gè)問題,Nacos 中的永久服務(wù)刪除不了,折騰了一番,最后還是順利解決了。以下是原因分析和解決方案,建議先收藏,以備不時(shí)之需。

本文轉(zhuǎn)載自微信公眾號(hào)「Java中文社群」,作者磊哥。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java中文社群公眾號(hào)。

前兩天遇到了一個(gè)問題,Nacos 中的永久服務(wù)刪除不了,折騰了一番,最后還是順利解決了。以下是原因分析和解決方案,建議先收藏,以備不時(shí)之需。

臨時(shí)實(shí)例和持久化實(shí)例是 Nacos 1.0.0 中新增了一個(gè)特性。臨時(shí)實(shí)例和持久化實(shí)例最大的區(qū)別是健康檢查的方式:臨時(shí)實(shí)例使用客戶端主動(dòng)上報(bào)的健康檢查模式,而持久化實(shí)例使用服務(wù)端反向探測(cè)的模式。也就是說,如果是臨時(shí)實(shí)例,那么客戶端需要主動(dòng)上報(bào)自己的健康狀況,而持久化實(shí)例需要 Nacos 服務(wù)器端反向探測(cè)實(shí)例的健康狀況。

而在這兩種實(shí)例中,臨時(shí)實(shí)例是可以自動(dòng)刪除非健康實(shí)例的,并且當(dāng)所有的臨時(shí)實(shí)例被刪除之后,Nacos 中的服務(wù)也會(huì)被自動(dòng)刪除,這是臨時(shí)服務(wù)的刪除流程。但對(duì)于持久化實(shí)例來說,就沒有那么簡(jiǎn)單了,因此持久化實(shí)例即使是非健康狀態(tài),也不會(huì)自動(dòng)刪除實(shí)例和服務(wù),這個(gè)時(shí)候就需要我們手動(dòng)刪除服務(wù)了。

PS:持久化實(shí)例也有另一種叫法,叫做永久實(shí)例。

需要注意的是,在 Nacos 2.0 之前,一個(gè)服務(wù)中的實(shí)例既可以是臨時(shí)實(shí)例也可以是持久化實(shí)例,但在 Nacos 2.0 時(shí)有了?些細(xì)微的調(diào)整。在 Nacos 2.0 之前,一個(gè)服務(wù)中的實(shí)例既可以是臨時(shí)實(shí)例也可以是永久實(shí)例會(huì)給運(yùn)維人員帶來極大的困惑和運(yùn)維復(fù)雜度。

與此同時(shí),從系統(tǒng)架構(gòu)來看,?個(gè)服務(wù)同時(shí)存在持久化及非持久化實(shí)例的場(chǎng)景也是存在?定矛盾的。這就導(dǎo)致該能力事實(shí)上并未被廣泛使用。為了簡(jiǎn)化 Nacos 的服務(wù)數(shù)據(jù)模型,降低運(yùn)維人員的復(fù)雜度,提升 Nacos 的易用性,在 Nacos 2.0 中將是否持久化的數(shù)據(jù)抽象至服務(wù)級(jí)別,且不再允許?個(gè)服務(wù)同時(shí)存在持久化實(shí)例和非持久化實(shí)例,也就是從 Nacos 2.0 之后,臨時(shí)實(shí)例就變成了臨時(shí)服務(wù),持久化實(shí)例就變成了持久化服務(wù),一個(gè)服務(wù)的整個(gè)生命周期只能有一種實(shí)例類型。

為什么需要兩種服務(wù)類型?

以淘寶為例,雙十一大促期間,流量會(huì)比平常高出很多,此時(shí)服務(wù)肯定需要增加更多實(shí)例來應(yīng)對(duì)高并發(fā),而這些實(shí)例在雙十一之后就無需繼續(xù)使用了,采用臨時(shí)實(shí)例比較合適。而對(duì)于服務(wù)的一些常備實(shí)例,則使用永久實(shí)例更合適。

問題重現(xiàn)

但持久化服務(wù)在手動(dòng)刪除時(shí)候會(huì)報(bào)錯(cuò),如下圖所示:

當(dāng)我們?cè)?Nacos 控制臺(tái)點(diǎn)擊服務(wù)的“刪除”按鈕時(shí),提示“caused: Service DEFAULT_GROUP@@XXX is not empty, can't be delete. Please unregister instance first;”,意思是不能刪除,請(qǐng)先注銷服務(wù)下的實(shí)例,于是我們進(jìn)入服務(wù)實(shí)例列表,如下圖所示:

服務(wù)實(shí)例里面沒有注銷按鈕,只有“下線”按鈕,難道在服務(wù)的“編輯”頁面里面?于是我們又點(diǎn)擊編輯按鈕,看到如下信息:

服務(wù)編輯頁面還是沒有注銷按鈕,難道要把實(shí)例全部“下線”?于是我們嘗試將所有的實(shí)例“下線”如下圖所示:

然后再返回服務(wù)列表頁面,點(diǎn)擊“刪除”按鈕,發(fā)現(xiàn)還是原來的提示信息:

這可咋整嘞,一頓操作還是刪除不了?

解決方案

我們知道除了控制臺(tái)之外,還可以通過 Nacos SDK 或 OpenAPI 來操作 Nacos,而 OpenAPI 的操作成本是最低的,于是趕緊找出 Nacos 官方的 OpenAPI 文檔,看一下如何通過 API 注銷服務(wù)實(shí)例。果然,功夫不負(fù)有心人,在官方文檔中順利的找到了注銷的 API,如下圖所示:

OpenAPI 地址:https://nacos.io/zh-cn/docs/open-api.html

PS:在這里感謝好友@二師兄,提供的思路。

OpenAPI 內(nèi)容如下:

于是照著 API 文檔構(gòu)建了刪除命令:

curl -X DELETE 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=spring-cloud-nacos-producer&groupName=DEFAULT_GROUP&namespaceId=public&ip=10.0.24.8&clusterName=DEFAULT&port=8081&ephemeral=false'

以上命令在 Nacos 服務(wù)器執(zhí)行的結(jié)果如下圖所示:

服務(wù)器返回了結(jié)果“OK”,打開 Nacos 服務(wù)實(shí)例列表看一下實(shí)例是否被正常注銷:

果然有效果,持久化實(shí)例被順利的注銷了,于是使用同樣的方法把實(shí)例 2 也注銷一下,如下圖所示:

當(dāng)我把服務(wù)下的所有實(shí)例都注銷之后,再去 Nacos 控制臺(tái)發(fā)現(xiàn)服務(wù)也隨之消失了,如下圖所示:

細(xì)心一點(diǎn)的朋友會(huì)發(fā)現(xiàn),之前的服務(wù)并不會(huì)立馬消失了,而是變成空服務(wù)了,要手動(dòng)切換一下“隱藏空服務(wù)”才能展示出來,但有它和沒它的效果是一樣的了,我們可以創(chuàng)建和它名字相同的臨時(shí)實(shí)例了,這就和刪除的效果一樣了,如果沒有被刪除是創(chuàng)建不了臨時(shí)實(shí)例的,所以從邏輯上理解,我們可以認(rèn)為它已經(jīng)被刪除了。

總結(jié)

Nacos 中有兩種實(shí)例:臨時(shí)實(shí)例和持久化實(shí)例(永久實(shí)例),在 Nacos 2.0 之后,每個(gè)服務(wù)中只能保存一種類型的實(shí)例,也就是實(shí)例類型已經(jīng)升級(jí)成了服務(wù)類型了。

對(duì)于臨時(shí)服務(wù)來說,無需刪除,當(dāng)臨時(shí)服務(wù)中的所有實(shí)例都被刪除之后,臨時(shí)服務(wù)也會(huì)被自動(dòng)刪除;而永久服務(wù)需要先通過 OpenAPI 注銷所有的實(shí)例,當(dāng)所有實(shí)例被注銷之后,服務(wù)也被刪除了。


責(zé)任編輯:武曉燕 來源: Java中文社群
相關(guān)推薦

2022-03-29 08:59:40

PyroscopeKubernetes云原生

2012-04-03 12:33:58

2012-06-07 10:25:35

架構(gòu)設(shè)計(jì)服務(wù)層軟件設(shè)計(jì)

2013-11-12 10:52:24

2021-07-01 21:49:48

微服務(wù)Nacos服務(wù)

2015-03-19 11:30:04

DockerDocker集群服務(wù)發(fā)現(xiàn)

2011-07-27 21:28:53

計(jì)算機(jī)網(wǎng)絡(luò)服務(wù)

2019-06-17 15:48:51

服務(wù)器測(cè)試方法軟件

2023-02-12 21:54:32

架構(gòu)AI元宇宙

2021-06-29 21:36:21

微服務(wù)Nacos日志

2021-07-12 08:00:21

Nacos 服務(wù)注冊(cè)源碼分析

2010-05-27 10:26:22

MySQL服務(wù)

2022-06-08 10:58:00

服務(wù)配置Nacos

2011-07-26 17:49:54

服務(wù)器管理器

2025-03-03 01:25:00

classnameAPI前端

2019-12-17 16:39:55

輸入法Windows 10Windows

2019-07-25 15:10:11

攜號(hào)轉(zhuǎn)網(wǎng)業(yè)務(wù)運(yùn)營商

2025-05-29 08:35:00

Nacos服務(wù)注冊(cè)開發(fā)

2025-05-28 08:35:00

Nacos服務(wù)訂閱流程開發(fā)

2010-04-26 11:26:08

服務(wù)器負(fù)載均衡
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩在线观看一区 | 99久久久久久99国产精品免 | 黄色一级网 | 一区二区免费视频 | 国产精品久久99 | 精品国产视频 | 欧美大片久久久 | 国产黄色网 | 日韩色视频 | 九九亚洲| 国产精品久久精品 | 日韩精品一区二区三区中文字幕 | 国产在线看片 | www狠狠干 | 中文字幕一区二区三区在线观看 | 亚洲精品区 | 成年视频在线观看福利资源 | 精品国产乱码久久久久久闺蜜 | 日日摸日日添日日躁av | 欧美一级片在线观看 | 久久久久国产一区二区三区四区 | 欧美一级毛片久久99精品蜜桃 | 免费一级网站 | 91在线色视频 | 婷婷免费视频 | 日日摸日日爽 | 91高清视频在线观看 | 天堂男人av | 免费三级网站 | 久久精品国产免费 | 91视频一区二区三区 | 一区二区三区电影网 | 国产一级视频在线播放 | 亚洲精品第一国产综合野 | 欧美日韩在线一区二区 | 91麻豆精品一区二区三区 | 国产高清视频在线观看播放 | 中文字幕一区在线观看视频 | 9久9久9久女女女九九九一九 | 久久精品国产a三级三级三级 | 国产精品久久久乱弄 |