中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sprng cloud怎么安全下線微服務節點

發布時間:2021-06-23 13:35:49 來源:億速云 閱讀:161 作者:chen 欄目:大數據

本篇內容主要講解“sprng cloud怎么安全下線微服務節點”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“sprng cloud怎么安全下線微服務節點”吧!

spring cloud 在國內應該興起于2015年,當時業界還面臨著是doubbo還是spring cloud 的爭論。實踐是檢驗真理的唯一標準,目前doubbo應該只能生活在遺留項目之中。

spring cloud是什么已經高頻面試題。本文不準備回答這么高大上的問題,只簡單探討一下spring cloud業務節點下線的問題。

節點非安全下線可能導致的問題
一般來說在生產環境不會無理由的offline一個節點,其場景通常中異常宕機,部署發布,本次主要從灰度發布這個場景來理解非安全下線的隱患。其主要特征是數據不一致及業務中斷。

下線服務手段及優缺點
可手段

優點    缺點
kill    快,Shutdown hook    除了快都是缺點
/shutdown    和方式一類似    和方式一類似
/service-registry/down(推薦)    標記eureka狀態down    只能控制服務發現流量
/pause    標記eureka狀態down    
開啟helthcheck后沖突

只能控制eureka流量

delete

/eureka/apps/{application.name}/

心里安慰    Eureka客戶續約后狀態變更為up
DiscoveryManager.getInstance().

shutdownComponent();

支持手寫下線接口    
shutdown之后如果想start就比較困難

只能控制服務發現流量

PUT /eureka/v2/apps/appID/instanceID/status?value=OUT_OF_SERVICE(推薦)    強制下線    
可修改為up恢復狀態

只能控制服務發現流量

一個正常的下線流程建議是1.修改eureka狀態,但服務仍可運行。2.監控節點流量。3.物理下線。這個寫一個自動化工具或者人工確認完成。

流量入口多樣化挑戰

以user-serivce為例,一般服務的流量入口為外部流量負載均衡nginx,內部流量eureka以及來自于消息驅動的kafka/rabbit之類。

上述控制eureka的手段僅能解決loan-service等內部流量的問題,假如將eureka狀態修改為out_of_service此時消息隊列仍然會進行消費,監控流量可能會漏掉對消息隊列的監控,從而導致物理下線期間消費消息線程被kill,如果消息消費確認機制不恰當產生消息丟失。

消息隊列pause
以kafka為例進行消息pause

@Autowired
    private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
    
    public void pause() {
        kafkaListenerEndpointRegistry.getListenerContainers().forEach(c->c.pause());
    }
    
    public void start() {
        kafkaListenerEndpointRegistry.getListenerContainers().forEach(c->{
            if(c.isRunning()) {
                c.start();
            }else {
                c.resume();
            }
        });
    }

到此,相信大家對“sprng cloud怎么安全下線微服務節點”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新安县| 三都| 常山县| 长宁区| 祁东县| 桃园市| 八宿县| 黑山县| 慈溪市| 永寿县| 吴桥县| 依安县| 德安县| 嵊州市| 潜山县| 南乐县| 榆树市| 浪卡子县| 河源市| 寿光市| 嵩明县| 集贤县| 定西市| 金溪县| 五峰| 永兴县| 宁夏| 呼和浩特市| 华宁县| 贵溪市| 始兴县| 庄浪县| 宜城市| 远安县| 慈利县| 师宗县| 富平县| 稻城县| 旬阳县| 河津市| 太原市|