3 CPU 微架構 本章簡要概述了對軟件性能有直接影響的關鍵 CPU 微體系結構特性。本章的目的并不是要涵蓋 CPU 架構的所有細節和權衡,文獻[Hennessy & Patterson, 2017 Computer Architecture, Sixth Edition]、[Shen & Lipa ...
2PC 2PC,兩階段提交,將事務的提交過程分為資源準備和資源提交兩個階段,并且由事務協調者來協調所有事務參與者,如果準備階段所有事務參與者都預留資源成功,則進行第二階段的資源提交,否則事務協調者回滾資源。 第一階段:準備階段 由事務協調者詢問通知各個事務參與者,是否準備好了執行事務,具體流程圖如下 ...
狀態(State)模式屬于行為型模式的一種。 狀態模式允許對象在其內部狀態改變時改變其行為,使其看上去就像改變了自身所屬的類一樣。 狀態模式是為了把一大串if...else...的邏輯給分拆到不同的狀態類中,使得將來增加狀態比較容易。 狀態模式的關鍵設計思想在于狀態切換。簡單的狀態轉換可以直接由調用 ...
1.初始 Nginx @目錄1.初始 Nginx1. Nginx 的概述2. Nginx 核心功能的詳細說明2.1 正向代理2.2 反向代理2.3 負載均衡2.4 動靜分離3. 最后: 先看 2 個實際需求,引出 Nginx 需求 1: 訪問不同微服務 示意圖: 需求 2: 輪詢訪問服務 示意圖: ...
概述 定義 冪等概念來自數學,表示對數據源做N次變換和1次變換的結果是相同的。 在計算機中編程中,一個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。冪等函數或冪等方法是指可以使用相同參數重復執行,并能獲得相同結果的函數。這些函數不會影響系統狀態,也不用擔心重復執行會對系統造成改變 ...
對于 raft 算法,leader 選舉算法如下: 1. 節點角色 Raft 算法中的節點有三種角色: (1)Leader:負責處理客戶端請求、管理日志復制和發送心跳。 (2)Follower:被動接受 Leader 的日志和心跳,不主動發起請求。 (3)Candidate: 在選舉過程中,Foll ...
一致性問題 設計一個分布式系統必定會遇到一個問題—— 因為分區容忍性(partition tolerance)的存在,就必定要求我們需要在系統可用性(availability)和數據一致性(consistency)中做出權衡 。這就是著名的 CAP 定理。 ZooKeeper 的處理方式,保證了 C ...
大家好,我是湯師爺! 最近,騰訊發布了一款ima產品,主打用AI來幫你搜索信息、管理知識庫。 說實話,一開始用混元大模型,感覺不咋地,很雞肋的。 不過最近騰訊把DeepSeek R1接進來了,一下子解決了混元智商不足的問題! 試了一下,簡直太贊了!這玩意兒就像是專門為打工牛馬準備的!效果確實極為驚喜 ...
背景 當今的數據中心和應用程序在高度動態的環境中運行,為了應對高度動態的環境,它們通過額外的服務器進行橫向擴展,并且根據需求進行擴展和收縮。同時,服務器和網絡故障也很常見。 因此,系統必須在正常操作期間處理服務器的上下線。它們必須對變故做出反應并在幾秒鐘內自動適應;對客戶來說的話,明顯的中斷通常是不 ...
春節前從一個網友那里了解到一個新的NAS——飛牛。 起因是我們一個用戶用我們的SD-WAN來遠程訪問飛牛NAS,市面上做NAS的很多,之所以單獨體驗這個產品主要是: 不需要購買硬件,這個是非常重要的,畢竟我沒有NAS的需求,額外購買硬件沒必要,如果這是一家需要購買硬件的NAS廠家,那我可能就不太會花 ...
背景 Paxos 算法是 Leslie Lamport(萊斯利·蘭伯特)在 1990 年提出了一種分布式系統 共識 算法。這也是第一個被證明完備的共識算法(前提是不存在拜占庭將軍問題,也就是沒有惡意節點)。 為了介紹 Paxos 算法,蘭伯特專門寫了一篇幽默風趣的論文。在這篇論文中,他虛擬了一個叫做 ...
備忘錄模式的核心思想是將對象的狀態保存在一個獨立的對象中,這樣既能保持對象的封裝性,又能方便地恢復對象到之前的狀態。 ...
大家好,我是湯師爺~ 在SaaS與AI應用的演進過程中,合理的架構設計至關重要。本節將詳細介紹其五個核心層次: 業務場景層:發現和確定業務場景 智能體層:構建可復用的智能應用 大模型層:采用最合適的大模型,作為思考推理的核心 知識庫:管理企業的核心知識資產 傳統工具:傳統的運營工具和業務系統 業務場 ...
一、 說明 Zookeeper作為一個分布式的服務框架,主要用來解決分布式集群中應用系統的一致性問題,它能提供基于類似于文件系統的目錄節點樹方式的數據存儲,但是 Zookeeper并不是用來專門存儲數據的,它的作用主要是用來維護和監控你存儲的數據的狀態變化。通過監控這些數據狀態的變化,從而可以達到基 ...
中介者模式的目的是把多方會談變成雙方會談,從而實現多方的松耦合。用一個中介對象來封裝一系列的對象交互。這樣,系統中的各個對象不直接互相引用,而是通過中介者進行交互,從而降低了系統的耦合度。 ...
大家好,我是湯師爺~ 在SaaS模式下,多租戶之間的資源隔離是基礎且關鍵的一環。 SaaS服務商需要在確保運營效率和控制成本的前提下,搭建一個讓多個租戶能夠同時訪問的共享環境。 雖然大家都在用同一套SaaS產品服務,但資源訪問必須嚴格隔離,確保租戶之間互不干擾。 下面,介紹一下SaaS資源的幾種隔離 ...
最早讀這本《設計模式:可復用面向對象軟件的基礎》是在大學的時候。讀了一些片段,看到了講文本編輯器的滾動條裝飾,覺得有點意思,可以用來做圖形界面。 記得有一天晚上上床睡覺后,和兩位同寢室室友聊天。一位室友LL說,他為了找工作,把設計模式這本書看了五六遍,把所有設計模式都記住了。另一位室友LHT說,這設 ...
大家好,我是湯師爺~ 最近,DeepSeek這款AI工具爆火國內外。 雖然許多人都開始嘗試使用它,但有人吐槽說,沒想象中那么牛。 其實問題不在工具,很多人的使用姿勢就搞錯了,用大炮打蚊子,白白浪費DeepSeek的強大功能。 接下來,我將為大家分享9個實用技巧,你會發現DeepSeek遠比想象中更強 ...
? 核心思想 享元模式(Flyweight Pattern)是一種結構型設計模式,主要用于減少程序中大量對象的內存消耗。該模式通過共享相同的數據來有效減少內存的使用,適用于對象非常多且可以共享一部分狀態的場景。 核心:將對象的內部狀態和外部狀態分離: 內部狀態:存儲在享元對象內部的、不會改變的狀態, ...