-
Golang 請求限速、排隊實現(xiàn)
概要 在調用第三方 API 的時候, 基本都有訪問限速的限制條件. 第三方的 API 有多個的時候, 就不太好控制訪問速度, 常常會導致 HTTP 429(Too Many Requests) 然后就會有一段時間的禁止訪問. 為了應對這種限速的情況, 通過一個簡單的請求隊列來控制訪問的速度, 之后基本沒遇到過 HTTP 429 了. 實現(xiàn)思路 首先, 每個請求包裝成一個?RequestParam?的 struct, 其中包含請求的地址,類型,參數(shù)以及 response 的 channel. 發(fā)送…
-
K8s 創(chuàng)建資源的兩種方式
在 K8s 中,創(chuàng)建資源有兩種方式: 直接使用?kubectl run?命令創(chuàng)建 使用?kubectl create/apply?命令從 YAML 文件創(chuàng)建 在本文中,我將通過示例解釋這兩種方法,以及它們分別應該在何時使用。 kubectl run kubectl run?命令在 pod 中創(chuàng)建并運行特定的鏡像。例如: 如果您對這個新 pod 執(zhí)行?kubectl describe?命令,您將看到: 請注意,Labels?是?run=nginx。 您還可以在?run?命令中指定環(huán)境變量,例如: …
-
如何在 CentOS 8 上使用 FirewallD 設置防火墻?
我是一個 CentOS Enterprise Linux 8 系統(tǒng)管理員。如何在 CentOS8 上使用 FirwallD 設置防火墻? 簡介 一個 Linux 防火墻可用于保護您的工作站或服務器免受不需要的流量干擾。您可以設置規(guī)則來阻止或允許流量通過。CentOS 8 帶有一個動態(tài)的、可定制的基于主機的防火墻和一個 D-Bus 接口。您可以添加、刪除或更新防火墻的規(guī)則,而無需重新啟動防火墻守護程序或服務。firewall-cmd?充當著?nftables?的前端。在 CentOS 8 中,nf…
-
怎樣才能讓 Linux 文檔的顏色高亮?
您可以在 Linux 中用顏色顯示文件中的信息頁面。info?命令在 Linux 或 Unix 下用于閱讀多頁文檔,并也可作為命令行界面上的工作幫助查看器。在服務器上沒有可用的 GUI 時,這是很有用的。info?命令處理信息文件。所有信息文件都是 Texinfo 格式。而?pinfo?是一個鮮為人知的工具,它可以用顏色顯示信息頁面。 我們可以在 Linux 和類 Unix 系統(tǒng)(如 FreeBSD 或 macOS)上安裝?pinfo。 安裝 pinfo 在?Debian/Ubuntu Linu…
-
Linux CPU 上下文切換的故障排查
在我的上一篇文章:《探討 Linux CPU 的上下文切換》中,我談到了 CPU 上下文切換的工作原理。快速回顧一下,CPU 上下文切換是保證 Linux 系統(tǒng)正常運行的核心功能。可分為進程上下文切換、線程上下文切換和中斷上下文切換。 在本文中,我將進一步討論如何分析 CPU 上下文切換問題。 檢查 CPU 的上下文切換 我們知道,過多的上下文切換會消耗 CPU 的時間來保存和恢復寄存器、程序計數(shù)器、內核棧和虛擬內存等數(shù)據(jù),從而導致系統(tǒng)性能顯著下降。 既然上下文切換對系統(tǒng)性能的影響如此之大,那么…
-
你知道那些最愚蠢的 Python 漏洞嗎?(你可能會中招哦)
簡介 在這個宇宙中,只有變化是不變的。每過一天,我們都在目睹更新的技術幫助我們解決世界的奧秘和復雜問題。Python 就是這些技術之一,它在計算機科學領域帶來了一場革命。 Python 是一種高級編程語言,用于 Web 開發(fā)、軟件開發(fā)、數(shù)學、自動化任務和數(shù)據(jù)分析。如果我們看看世界上大多數(shù)科技公司,我們會發(fā)現(xiàn)大多數(shù)機構都在使用 Python 進行日常運營。 Python 易受攻擊嗎? 每一個幸事都伴隨著一些缺點和漏洞,同樣地,Python 也有很多漏洞。盡管數(shù)據(jù)科學家正在盡最大努力消除系統(tǒng)中的所有…
-
微服務架構及設計模式
本文介紹了主流常見的微服務模式。 微服務能夠對企業(yè)產生積極影響。因此,了解如何處理微服務架構(MSA)以及一些微服務設計模式,一個微服務架構的一些通用目標或者設計原則是很有價值的。下面是在微服務架構方案中值得考慮的四個目標。 1、縮減成本:MSA將會降低設計、實現(xiàn)和維護IT服務的總體成本 2、加快發(fā)布速度:MSA將會加快服務從想法到部署的落地速度 3、增強彈性:MSA將會提升我們服務網絡的彈性 4、開啟可見性:MSA支持為服務和網絡提供更好的可見性 你需要了解建設微服務架構背后的幾個設計原則: …
-
探討 Linux CPU 的上下文切換
我們都知道 Linux 是一個多任務操作系統(tǒng),它支持的任務同時運行的數(shù)量遠遠大于 CPU 的數(shù)量。當然,這些任務實際上并不是同時運行的(Single CPU),而是因為系統(tǒng)在短時間內將 CPU 輪流分配給任務,造成了多個任務同時運行的假象。 CPU 上下文(CPU Context) 在每個任務運行之前,CPU 需要知道在哪里加載和啟動任務。這意味著系統(tǒng)需要提前幫助設置 CPU?寄存器和程序計數(shù)器。 CPU 寄存器是內置于 CPU 中的小型但速度極快的內存。程序計數(shù)器用于存儲 CPU 正在執(zhí)行的或…
-
Linux 終端上 10 個不容錯過的游戲!你玩過幾個?
如果你想學習使用 Linux 終端,一個很好的開始方法是安裝和玩一些游戲。這些游戲不僅有趣——它們也不需要兼容層或昂貴的顯卡。 Bastet 俄羅斯方塊是俄羅斯軟件工程師 Alexey Pajitnov 于 1984 年制作的一款益智游戲。該游戲在 90 年代人氣飆升,到 1996 年底在全球擁有超過 2000 萬玩家。 Bastet 這個名字是“bastard”和“Tetris”的組合。這背后的原因是,這個俄羅斯方塊克隆試圖通過給你不想要的確切塊來挫敗你,而不是給你一個隨機塊。因此名稱為Bas…
-
如何監(jiān)測 Linux 的磁盤 I/O 性能
在我之前的文章:《探討 Linux 的磁盤 I/O》中,我談到了 Linux 磁盤 I/O 的工作原理,我們了解到 Linux 存儲系統(tǒng) I/O 棧由文件系統(tǒng)層(file system layer)、通用塊層( general block layer)和設備層(device layer)構成。 其中,通用塊層是 Linux 磁盤 I/O 的核心。向上,它為訪問文件系統(tǒng)和應用程序的塊設備提供了標準接口;向下,它將各種異構磁盤設備抽象為一個統(tǒng)一的塊設備,并響應文件系統(tǒng)和應用程序發(fā)送的 I/O。 在本…