原创 Go日記——你想讓Go快一點嗎?

譯自>https://bravenewgeek.com/so-you-wanna-go-fast/ 編寫高性能Go的技巧 到目前爲止,我已經忘記了我在寫什麼,但是我保證這篇文章是關於Go的。確實如此,並且很大程度上取決於性能的提

原创 GO日記——fasthttp client爲什麼快

翻譯自 https://weekly-geekly.github.io/articles/443378/index.html 我們使用fasthttp的例子編寫了一個高性能的http客戶端。Alexander Valyalkin

原创 架構師日記——Varnish的性能調優

Varnish的性能調優分成兩個部分 1.一個是硬件、操作系統和網絡部分的優化 2.另外一個,也是最重要的一個,就是VCL的調優。 要進行硬件、操作系統和網絡部分的優化,瞭解Varnish的進程和線程架構是有必要的,他們能幫助

原创 架構師日記——VCL的變量和常用片段

在VCL中,有3個重要的數據結構: 1.req:請求目標,當varnish接收到一個請求,這是req object就被創建了,在vcl_recv中的大部分工作,都是在req object上展開的。 2.beresp:後端服務器返

原创 架構師日記——使用CLI管理Varnish

在啓動Varnish的時候,已經通過-T的參數來指定了管理Varnish的ip和端口,現在就可以 連接這個ip和端口來進行Varnish的管理 有兩種連接方式: telnet ip port 的方式,會進入一個純文本的命令行管

原创 架構師日記——規劃Varnish的緩存大小和提高命中率

給Varnish選擇多少內存,是個很艱鉅的問題,需要考慮以下事情: 1:應用的熱門數據集有多大? 對一個門戶或者新聞站來說,這個數據集可能就只是首頁和它相關內容的大小。這裏包括的兩部分,一部分是隻首頁本身的文字圖片內容,另一部

原创 架構師日記——理解Memcached的分佈式方式

Memcached儘管是“分佈式”的緩存系統,但服務器端並沒有分佈式功能。各個Memcached不會互相通信以共享信息。那麼,怎樣進行分佈式呢?這完全取決於客戶端的實現 Memcached的分佈式客戶端 客戶端可以通過配置Sock

原创 架構師日記——Memcached簡介和工作原理

Memcached是什麼 Memcached是一款開源的、高性能的、分佈式的內存對象緩存系統 Memcached能幹什麼 最主要的功能就是:在內存中緩存數據,以減輕數據庫負載。 它通過在內存中緩存數據和對象來減少讀取數據庫的次數

原创 架構師日記——Varnish的VCL子程序

一個子程序就是一串可讀和可用的代碼,子程序在VCL中沒有參數,也沒有返回值。示例如下: sub pipe_if_local{ if(client.ip ~ local){ pipe; } } 調用一

原创 Html日記——實現全平臺覆蓋的複製到粘貼板

我們這次會利用的神器有clipboard.js,但它對ios設備支持不太友好,所以我們ios部分用純js實現兼容 這次我實現的效果的是直接點擊文字複製,你們也可以根據自己的需求和clipboard.js的API是實現例如點擊按鈕

原创 架構師日記——手寫利用HTTP協議遠程模塊調用

遠程模塊調用比較流行的協議有RPC協議、RMI協議和HTTP協議 本篇博客教大家如何使用HTTP協議試遠程模塊的調用 1.定架構 總體架構如下 接下來我一個一個講解他們的作用 2.ModuleModel 這個類的作用是記錄

原创 c++日記——WIndows和Linux下左移模板函數的不同

學習C++時,有時候我們會使用微軟提供的VS軟件,在學習到模板類重載左移操作符時會遇到一些問題,下面寫一個簡單的程序來舉例: #include <iostream> using namespace std; template<c

原创 操作系統日記——使用 curl 命令分析請求的耗時情況

轉自https://cizixs.com/2017/04/11/use-curl-to-analyze-request/ 最近工作中遇到一個問題,某個請求的響應特別慢,因此我就希望有一種方法能夠分析到底請求的哪一步耗時比較長,好進

原创 Go日記——defer的用途

關閉鎖/釋放資源 l.Lock() defer l.Unlock() 恢復錯誤 defer func() { if r := recover(); r != nil { fmt.P

原创 NoSQL日記——Redis,Mongodb,Memcached區別和使用場景

工作中一旦遇到很多數據,高併發,這時就需要用到NoSQL來幫忙,NoSQL主要用到以下三種:Redis,Mongodb,Memcached。下面的表格介紹了他們之間的區別和使用場景。 對比項 Redis Mongodb Memc