如何設計實現開發自助重啟工具-01-設計篇

自助重啟系列

如何設計實現開發自助重啟工具-01-設計篇

應用部署作業-02-流程

如何實現自助重啟-03-實現篇

開發自助重啟

說明:有時候研發產線需要重啟,為了保證安全、或者說提升效率,最好有一個統一的研發自助重啟頁面。

這個功能可應用的發布有一些類似之處。

流程設計

1. 下流量

保障下掉服務對應的 dubbo/http 等流量

調用對應的接口,可以查看對應的狀態。

或者有對應的流量監控:cat + 日志 等等。最好是等待一段時間,保障流量已經下掉。

2. 服務重啟

kvm 服務重啟,其實可以細化為兩個部分:

a. 服務停止

b. 服務啟動

但是對于 k8s,可能存在一些不同。

a. 舊的 pod 流量下線

b. 創建新的 pod

c. 等待新 pod ready,上流量

d. 刪除舊的 pod

這個是否一體化,取決于 PE 的腳本實現。

3. 上流量

保障服務對應的 dubbo/http 等流量已正確上線。

調用對應的接口,可以查看對應的狀態。

或者有對應的流量監控:cat + 日志 等等。最好是等待一段時間,保障流量已經上線。

注意點

cmdb 支撐

需要 cmdb 的底層支撐,不然這么多的機器信息無法維護,不夠正確。

podIp 的變化

pod 重啟之后,如何獲取最新的 ip,再查詢一遍嗎?

頁面設計

業務域:
應用名:
機房:
環境:
分組:
機器分類:
機器列表:
操作:【提交】【查詢】

下方有對應的操作記錄+操作明細。

# 流量下線(總數)                       處理狀態 | 2025-6-21 00:05:08操作時間:${startTime} ~ ${endTime}
操作信息:是否存在異常?
操作人:admin
xxx| id | 機器類型 | 機器標識 | 開始時間 | 結束時間 | 處理狀態 | 處理信息 |
| 1 | kvm | 127.0.0.1 | 2025-6-21 00:06:40 | 2025-6-21 00:07:43 | 成功 | 已完成 | 
| 2 | k8s | podName | 2025-6-21 00:06:40 | 2025-6-21 00:07:43 | 成功 | 已完成 |

表記錄

需要有一個主從表,存儲對應的操作信息+操作明細。

分組

所有的發布,應用都應該分組。

pre-prod 準生產

gray 灰度 這個未必要這么設計,要看灰度是如何設計的。

組1/組2之類的。

分組用戶自己定義即可,沒有必要嚴格的設置。

小結

類似的,也可以實現一下 jstack jdump,前提是先下流量,然后操作。

文件存儲到對應的位置,方便用戶下載+分析。

甚至可以提供對應的分析。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88898.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88898.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88898.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ChatTongyi × LangChain:開啟多模態AI應用創新之門

阿里云通義實驗室推出的ChatTongyi(基于通義千問大模型)與LangChain框架的深度集成,為開發者打造了一套高效、靈活、全面的AI開發工具鏈。無論是文本對話、復雜任務自動化,還是圖像理解,這一組合都為多場景智能應用的落…

Android Studio C++/JNI/Kotlin 示例 二

MainActivity.ktpackage com.demo.learn1import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivityclass MainActivity : ComponentActivity() {// 加載原生庫init {System.loadLibrary("native_code")}// 聲明原生方法// 數學…

B樹和B+樹

B樹B樹,?稱多路平衡查找樹,B樹中所被允許的孩?個數的最?值稱為B樹的階,通常?m表示。?棵m階B樹或為空樹,或為滿?如下特性的m叉樹: 1)樹中每個結點?多有m棵?樹,即?多含有m-1個關鍵字。 2…

【版本控制】Perforce Helix Core (P4V) 完全入門指南(含虛幻引擎實戰)

目錄引言第一章:認識 Perforce Helix Core1.1 什么是 Perforce?1.2 P4V 是什么?1.3 核心概念速覽1.4 為什么選擇 Perforce?1.5 與 Git 的核心區別本章總結第二章:安裝與配置2.1 安裝原則:先服務端后客戶端2…

LlamaFactory/unsloth Demo

內部叫Tuning-Factory 參數文檔https://llamafactory.readthedocs.io/zh-cn/latest/index.html 高級技巧,如加速:https://llamafactory.readthedocs.io/zh-cn/latest/advanced/acceleration.html 0.環境 conda env list conda remove --name llm --all c…

水務工程中自動化應用:EtherNet/IP轉PROFIBUS DP連接超聲波流量計

在水務工程領域,自動化技術的應用愈發廣泛。隨著工業4.0概念的普及,不同通信協議的設備之間實現高效互聯互通變得尤為關鍵。EtherNet/IP和PROFIBUS DP作為兩種常見的工業通信協議,各有優勢,在實際應用中,常需要將它們進…

網絡協議和基礎通信原理

網絡協議和基礎通信原理是理解互聯網和各種網絡應用的關鍵。讓我用通俗易懂的方式,帶你逐一深入講解這些內容。 一、基礎概念總覽 TCP/IP協議族:互聯網通信的基礎,由一組協議組成,包括TCP、IP、UDP等。HTTP協議:基于T…

T16IZ遙控器教程__遙控器與無人機對頻

文章目錄前言一、準備設備二、對頻步驟總結前言 在使用自組PX4無人機時,有的小伙伴可能會遇到遙控器無法與無人機對頻連接的問題,別擔心,這篇文章會解決它。 一、準備設備 如下圖,無人機信號接收器,與無人機。 遙控器…

pyspark中map算子和flatmap算子

在 PySpark 中,map 和 flatMap 是兩個常用的轉換算子,它們都用于對 RDD(彈性分布式數據集)或 DataFrame 中的元素進行處理,但處理方式和應用場景有所不同。下面詳細講解它們的用法和適用場景。1. map 算子功能對 RDD 或…

jenkins部署前端vue項目使用Docker+Jenkinsfile方式

文章目錄前言一、前提準備二、準備構建文件三、Jenkins中構建項目總結前言 前面通過jenkinsdocker的方式部署了若依前端vue項目,接下來接著學習使用Jenkinsfile的方式部署前端vue項目。 一、前提準備 已經安裝好centos服務器,并且安裝了jenkins和docke…

Cadence操作說明

一.allegro修改絲印字體大小的方法 1.選擇Edit–>Change,右側彈出Options選項,選擇Class : New subclass Ref Des : Silkscreen_Top,設置Text block,后面的數字代表字號的大小。菜單菜單欄選擇Setup–>Design Parameters&a…

使用Stitch來生成CrypyTrack的app程序

結果: 🧭 第一步:訪問 Stitch 平臺 打開網址:stitch.withgoogle.com使用你的 Google 賬號登錄,無需安裝任何軟件 🧱 第二步:選擇設計模式 Stitch 提供兩種模式: 標準模式&#xf…

告別繁瑣:API全生命周期管理的新范式——apiSQL

API(應用程序接口)是連接數據與服務的生命線,是數字世界的基石。然而,一個高質量API的誕生并非易事,它涉及一個漫長而復雜的全生命周期——從規劃設計到最終退役,每個環節都需要專門的工具和技能&#xff0…

R 語言科研繪圖第 64 期 --- 啞鈴圖

在發表科研論文的過程中,科研繪圖是必不可少的,一張好看的圖形會是文章很大的加分項。 為了便于使用,本系列文章介紹的所有繪圖都已收錄到了 sciRplot 項目中,獲取方式: R 語言科研繪圖模板 --- sciRplothttps://mp.…

基于MaxCompute MaxFrame 汽車自動駕駛數據預處理最佳實踐

一、背景及挑戰在汽車自動駕駛場景中,車端(量產車、研采車)持續產生并采集海量數據,包括圖片、音視頻、雷達、GPS等內容,這些數據通常以 ROSbag文件形式進行存儲。行業需求:自動駕駛依賴海量多模態數據&…

NLP:RNN文本生成案例分享

本文目錄:一、導入工具包二、數據集三、 構建詞表四、 構建數據集對象五、 構建網絡模型六、 構建訓練函數七、構建預測函數前言:上篇文章講解了RNN,這篇文章分享文本生成任務案例:文本生成是一種常見的自然語言處理任務&#xff…

AI時代的接口自動化優化實踐:如何突破Postman的局限性

編者語:本文作者為某非銀金融測試團隊負責人。其團隊自 2024 年起局部試用 Apipost,目前已在全團隊正式投入使用 。在推進微服務 API 自動化測試的過程中,研發和測試人員常常需要在接口請求中動態構造帶有特定業務規則的數據。我們團隊就遇到…

動態規劃題解_將一個數字表示成冪的和的方案數【LeetCode】

2787. 將一個數字表示成冪的和的方案數 給你兩個正整數 n 和 x 。 請你返回將 n 表示成一些 互不相同 正整數的 x 次冪之和的方案數。換句話說,你需要返回互不相同整數 [n1, n2, ..., nk] 的集合數目,滿足 n n1x n2x ... nkx 。 由于答案可能非常…

C#常用的LinQ方法

LINQ(Language Integrated Query)是 .NET 中用于處理集合的強大工具,它提供了多種方法來簡化數據查詢和操作。以下是一些常用的 LINQ 方法及其功能:Where: 根據指定的條件篩選集合中的元素。var filteredResults matchResults.Wh…

目標檢測之數據增強

數據翻轉,需要把bbox相應的坐標值也進行交換代碼:import random from torchvision.transforms import functional as Fclass Compose(object):"""組合多個transform函數"""def __init__(self, transforms):self.transform…