202004-07 數據庫性能提升利器—Mycat數據切分 HOT 數據庫是每個系統都不可缺少的東西,里面記錄了系統各種數據資料。但是如今的數據膨脹的時代,數據庫性能不能滿足我們的需要了。所以我們要對數據庫進行強化,就用到了Mycat。 繼續閱讀 >
202004-06 MySQL5.7特性:JSON數據類型 HOT MySQL5.7的發行聲明中,官方稱之為里程碑式的版本,除了運行速度大幅度提升之外,還添加了之前版本沒有的功能,如本文所述的原生JSON數據類型功能。 在此版本之前,MySQL所有的JSON數據類型,全部是使用text等文本類型來實現的,數據的處理只能在應用代碼級來實現,十分不方便。 繼續閱讀 >
202004-02 nginx與php-fpm通信的兩種方式 HOT 在linux中,nginx服務器和php-fpm可以通過tcp socket和unix socket兩種方式實現。 unix socket是一種終端,可以使同一臺操作系統上的兩個或多個進程進行數據通信。這種方式需要再nginx配置文件中填寫php-fpm的pid文件位置,效率要比tcp socket高。 tcp socket的優點是可以跨服務器,當nginx和php-fpm不在同一臺機器上時,只能使用這種方式。 windows系統只能使用tcp socket的通信方式 繼續閱讀 >
202003-24 MySQL進階——主從復制 HOT 主從復制的配置,大部分都在主機上,注意查看相關步驟。 這里將主從機的防火墻都關閉是為了更好的演示,實際生產環境中一般不會出現windows主機和linux從機這種情況,因此不應該關閉防火墻,而是根據具體情況配置防火墻規則。 繼續閱讀 >
202003-23 mysql性能分析-------profiling和explain HOT MySQL5.0.37版本以上支持了Profiling – 官方手冊。此工具可用來查詢 SQL 會執行多少時間,System lock和Table lock 花多少時間等等,對定位一條語句的 I/O消耗和CPU消耗 非常重要。 繼續閱讀 >
202003-19 MySQL索引優化 HOT MySQL官方對索引的定義:索引是幫助MySQL高效獲取數據的數據結構。索引是在存儲引擎中實現的,所以每種存儲引擎中的索引都不一樣。如MYISAM和InnoDB存儲引擎只支持BTree索引;MEMORY和HEAP儲存引擎可以支持HASH和BTREE索引。 繼續閱讀 >
202003-19 Mysql復制方式(半同步復制,并行復制,多源復制) HOT 在每次準備提交事務完成數據更新前,主庫將數據更新的事件記錄到二進制日志binlog中。主庫上的sync_binlog參數控制binlog日志刷新到磁盤。 繼續閱讀 >
202003-16 Go1.14 的這個改進讓 Gopher 生活更美好 HOT testing 包是 Go 標準庫中我最喜歡的程序包之一,不僅是它具有低干擾的單元測試方法,而且在 Go 的整個生命周期中,它可以改善、提高生活質量 ^_^。 在 Go1.14 中,go test -v 將使 t.Log 的輸出變成流式,而不是在測試運行結束之前進行存儲,最后一起輸出。 繼續閱讀 >
202003-14 解析和提交 HTML 表單的庫:gosubmit HOT 項目地址:https://github.com/jeremija/gosubmit,發布剛半個月。該庫幫助在測試過程中填寫純HTML表單。將自動從表單中獲取現有值,因此無需手動設置諸如csrf令牌之類的東西。在缺少必填字段或模式驗證不匹配時發出警報。支持的表單元素input[type=checkbox]input[type=date]input[type=email]input[type=hidden]input[type=number]input[type=radio]input[type=text]input[type=url]t... 繼續閱讀 >
202003-14 用面向對象設計原則理解 Go 中 interface HOT 1、interface是方法聲明的集合 2、任何類型的對象實現了在interface接口中聲明的全部方法,則表明該類型實現了接口。 3、interface可以作為一種數據類型,實現了該接口的任何對象都可以給對應的接口類型變量賦值。 繼續閱讀 >
202003-14 Micro In Action(二):項目結構與啟動過程 HOT 本文是 Micro in Action 系列的第二篇文章, 我們作了幾件事: 介紹了上篇文章所創建的項目結構, 說明每一個文件的用途。 對照源碼逐行分析一個 Micro 服務的啟動過程。 考慮到 Micro 文檔的缺失, 本文完整介紹了創建 Micro 服務所支持的全部 Option 最后用 micro web 查看了服務的運行時狀態 繼續閱讀 >
202003-13 神奇了!這個 Go 項目讓前端構建快了近 100 倍 HOT 這是作者 2019-2020 年寒假期間寫的一項業余愛好項目。我相信它是相對完整和實用的。但是,它是全新的代碼,可能有很多錯誤。還沒有任何人在生產中使用過它。合并運算符。 此外,官方還給了如何和 React 配合使用。 目前,該項目在 Github 上已收獲 3400+ Star,并有 51 個 fork。近期增長很快,總在 GitHub 趨勢榜。 繼續閱讀 >
202003-13 官方博文:使用 Go Cloud 的 Wire 進行編譯時依賴注入 HOT Go 團隊公布了用于開放云開發的可移植云 API 和工具,開源項目Go Cloud 。這篇文章詳細介紹了 Wire,一個隨 Go Cloud 提供的依賴注入工具。 繼續閱讀 >
202003-13 map 并發崩潰一例:順便吐槽 Go 打印堆棧不友好 HOT 如若在實踐中碰到了類似的 bug,只能好好讀代碼,別無他法,甩鍋給離職員工是解決不了問題的。 如果你手邊的代碼抽象程度比較高,比如函數的參數都是一些 interface,由運行期來決定,那可能要定位這種 bug 就更費勁一些。 繼續閱讀 >
202003-10 圖解kubernetes容器探活機制核心實現 HOT 在k8s中通過kubelet拉起一個容器之后,用戶可以指定探活的方式用于實現容器的健康性檢查,目前支持TCP、Http和命令三種方式,今天介紹其整個探活模塊的實現, 了解其周期性探測、計數器、延遲等設計的具體實現 繼續閱讀 >
202003-09 一文看懂 K8s 日志系統設計和實踐 HOT 上一篇文章《6 個 K8s 日志系統建設中的典型問題,你遇到過幾個?》中我們介紹了為什么需要一個日志系統、為什么云原生下的日志系統如此重要以及云原生背景下日志系統的建設難點,相信 DevOps、SRE、運維等同學看了之后深有體會。本篇文章單刀直入,會直接跟大家分享一下如何在云原生的場景下搭建一個靈活、功能強大、可靠、可擴容的日志系統。 繼續閱讀 >
202003-09 Go Modules 處理私有 Git Repository 的流程 HOT Golang[1] 在 1.14[2] 正式說明可以將 Go Modules[3] 用在正式環境上了,還沒換上 Go Modules 的團隊,現在可以開始轉換了,轉換方式也相當容易啦,只要在原本的專案底下執行底下指令,就可以無痛轉移 繼續閱讀 >
202003-09 深度解密Go語言之unsafe HOT uintptr 可以和 unsafe.Pointer 進行相互轉換,uintptr 可以進行數學運算。這樣,通過 uintptr 和 unsafe.Pointer 的結合就解決了 Go 指針不能進行數學運算的限制。 通過 unsafe 相關函數,可以獲取結構體私有成員的地址,進而對其做進一步的讀寫操作,突破 Go 的類型安全限制。關于 unsafe 包,我們更多關注它的用法。 繼續閱讀 >
202003-09 換個角度看:Go里的unsafe包是什么? HOT 總結下, unsafe包是非常有意思并且很強大的,但是使用它時候一定要多加小心。如果需要更新包的特性,可以參考這里的升級指南 繼續閱讀 >
202003-07 又一個Go繪圖和可視化庫:plot HOT 前兩天介紹了一款 Go 語言繪圖工具:go-chart。今天發現了另外一款類似的工具,但更強大。不過還沒發布穩定版。 項目地址:https://github.com/gonum/plot,Star 數 1.4k 繼續閱讀 >