摘要:背景介紹 在微服務橫行的時代,服務化思維逐漸成為了程序員的基本思維模式,但是,由于絕大部分項目只是一味地增加服務,并沒有對其妥善管理,當接口出現問題時,很難從錯綜復雜的服務調用網絡中找到問題根源,從而錯失了止損的黃金時機。 而鏈路追蹤的出現正是為了解決這種問題,它可以在復雜的服務調用中定位問題,還可 閱讀全文
posted @ 2019-06-07 00:56 張大帥z 閱讀 (865) 評論 (3) 編輯
摘要:背景介紹 復制,就是對數據的完整拷貝,說到為什么要復制,首先能想到的是怕數據意外丟失,使得用戶蒙受損失。 當完成了數據復制之后,會發現它的優勢不止這一點,假如一臺機器宕機了,可以啟用備份在另一臺機器的數據。畢竟宕機的概率很小,閑暇時間還可以讓備份機器分擔主機器的流量壓力。除此之外,當要升級數據庫版本 閱讀全文
posted @ 2019-05-30 09:47 張大帥z 閱讀 (626) 評論 (3) 編輯
摘要:什么是重構? “重構”一詞想必你已經聽膩了,就是整理代碼唄,不不不,重構旨在不改變調用者行為的前提下,對內部邏輯進行調整優化,提高其理解性,降低其修改成本,它是一門藝術,是程序員至高無上的榮耀…… 何時重構?怎么重構? 經常聽到周邊的人抱怨沒有時間重構,重構并不是單獨抽出時間集中處理的,而是當你想要 閱讀全文
posted @ 2019-05-13 13:24 張大帥z 閱讀 (693) 評論 (3) 編輯
摘要:本文主要介紹分析源碼的方式,其中包含環境的搭建、分析工具的安裝以及源碼調試的基本操作。 一、工具清單 PHP7.0.12 GDB CLion 二、源碼下載及安裝 三、GDB的安裝與調試 3.1 安裝 本文介紹兩款調試工具,分別是GDB和CLion,前者為命令行調試工具,后者為圖形界面調試工具,后者依 閱讀全文
posted @ 2018-08-28 13:06 張大帥z 閱讀 (1960) 評論 (1) 編輯
摘要:創建鎖文件 變量值自定義;在main函數執行完成后需要移除鎖文件并關閉文件讀取。 鎖定文件 排它鎖,不允許其他人讀和寫。 意味著無法鎖定文件時不能阻斷操作,馬上返回給進程。 返回文件描述符,文件描述符是一個索引值,指向當前進程打開的文件記錄表。最后在執行完畢后對文件解鎖。 閱讀全文
posted @ 2019-08-27 15:18 張大帥z 閱讀 (76) 評論 (0) 編輯
摘要:背景介紹 我們先來看一下為什么要做集群,如果我們要部署一個單節點Redis,很明顯會遇到單點故障的問題。 首先能想到解決單點故障的方法,就是做主從,但是當有海量存儲需求時,單一的主從結構就會出問題,說問題之前要先了解一下主從之間是如何復制的。 我們把Redis分為三個部分,分別是客戶端、主節點以及從 閱讀全文
posted @ 2019-08-03 14:34 張大帥z 閱讀 (536) 評論 (0) 編輯
摘要:1. Consul Server 創建consul server虛擬主機 出現如下內容即創建成功 創建工作目錄 創建docker compose.yml 切換環境到consul 執行docker compose.yml 查看虛擬主機IP 通過IP在瀏覽器訪問8500端口,即可看到Consul的UI界 閱讀全文
posted @ 2019-07-03 19:17 張大帥z 閱讀 (47) 評論 (0) 編輯
摘要:背景介紹 上篇介紹了利用Nginx反向代理實現負載均衡,本文詳細講述Nginx下的幾種負載均衡策略。 輪詢 輪詢,顧名思義,就是輪流請求,基于上篇文章的介紹,我們將負載均衡策略聚焦于 文件的 。 在瀏覽器中對 連續發出請求,根據nginx請求日志可以看出web02與web03訪問的次數是相同的。 加 閱讀全文
posted @ 2019-06-27 20:07 張大帥z 閱讀 (604) 評論 (0) 編輯
摘要:首先,在 目錄創建 目錄,開啟第一篇章。 創建 目錄,在目錄下分別創建三個節點目錄: 、`nginx02 nginx03 nginx01 nginx02 nginx03`。 展示效果如下所示。 將nginx鏡像中的配置文件拷貝到各子目錄中,以便做掛載,方法是創建一個臨時容器,將配置文件拷貝至宿主機 閱讀全文
posted @ 2019-06-26 13:14 張大帥z 閱讀 (559) 評論 (0) 編輯
摘要:背景介紹 項目越做越大,用戶量和請數量可能隨時發生井噴,如果等到系統崩潰時再補救,損失可就大了,所以得想個辦法提前預防。 想要預防,就得知道系統的哪個環比較節薄弱,頂不住壓力,還要對系統的承受能力有個全面的評估,心里有底,好提前預防,這種評估分析預防優化等一系列手段全被性能測試涵蓋在內。 性能的指標 閱讀全文
posted @ 2019-06-14 22:48 張大帥z 閱讀 (398) 評論 (0) 編輯
摘要:映射的定義 初識映射會很懵,因為在PHP中沒有映射類型的定義。其實沒那么復雜,任何復雜的類型在PHP中都可以用數組表示,映射也不例外。 映射其實就是有key有value的數組,在Go中的賦值也很類似,但需要提前聲明該映射類型的鍵與值的類型,確保所有的鍵和值的賦值類型統一,否則會報錯。 在PHP中還有 閱讀全文
posted @ 2019-06-14 13:57 張大帥z 閱讀 (288) 評論 (0) 編輯
摘要:基本介紹 交叉編譯是為了在不同平臺編譯出其他平臺的程序,比如在Linux編譯出Windows程序,在Windows能編譯出Linux程序,32位系統下編譯出64位程序,今天介紹的gox就是其中一款交叉編譯工具。 配置環境 首先配置好Go語言的環境變量,并在 中設置,簡單說明一下為什么要添加至該文件, 閱讀全文
posted @ 2019-06-13 22:47 張大帥z 閱讀 (276) 評論 (0) 編輯
摘要:數組的定義 用過PHP的同學應該很清楚,無論多么復雜的數據格式都可以用數組來表達,什么類型的數據都可以往里塞,它是工作必備的一部分,使用很簡單,易用程度簡直變態。 在Go語言中就有所不同了,數組是一段固定長度的連續內存區域,與C語言概念完全一致,在聲明數組時,要先確定數組的長度,而且數組中的元素只能 閱讀全文
posted @ 2019-06-12 21:57 張大帥z 閱讀 (405) 評論 (0) 編輯
摘要:字符串的賦值 在PHP中,字符串的賦值雖然只有一行,其實包含了兩步,一是聲明變量,二是賦值給變量,同一個變量可以任意重新賦值。 Go語言實現上述兩步也可以用一行語句解決,就是通過標識 賦值時同時聲明變量,切記等號右側的字符串不能用單引號,對變量的后續賦值也不能再重新聲明,否則會報錯。除此之外,定義的 閱讀全文
posted @ 2019-06-10 21:33 張大帥z 閱讀 (364) 評論 (2) 韩国快乐8开奖结果查询