原创 Codis proxy error : dial tcp : lookup cnsz22vla888.novalocal on 127.0.1.1:53 : no such host

筆者之前在雲主機上啓動codis,這次是在本地啓動。dashboard,proxy,fe都成功啓動之後,打開 fe 的頁面,點擊最左側自己創建的product_name,卻發現頁面顯示殘缺不全 再看fe的控制檯日誌,發現報錯 h

原创 Codis源碼解析——proxy的啓動

proxy啓動的時候,首先檢查輸入的命令行,一般情況下,啓動proxy的命令如下: nohup ./bin/codis-proxy --ncpu=2 --config=./conf/proxy.conf --log=./logs/

原创 Codis源碼解析——sharedBackendConn

在Codis源碼解析——proxy監聽redis請求一篇中,我們介紹過,SharedBackendConn負責實際對redis請求進行處理。 上一篇,在fillslot的過程中通過codis-server地址獲取SharedBac

原创 Codis源碼解析——dashboard的啓動(2)

1 刷新redis狀態 首先認識兩個重要的struct type Future struct { sync.Mutex wait sync.WaitGroup vmap map[string]interfa

原创 Codis源碼解析——dashboard的啓動(1)

dashboard是codis的集羣管理工具,支持proxy和server的添加、刪除、數據遷移,所有對集羣的操作必須通過dashboard。dashboard的啓動過程和proxy類似。dashboard的啓動只是初始化一些必要

原创 java調試技能之dubbo調試 ---telnet

原文出處: http://www.cnblogs.com/yougewe/p/6673845.html   dubbo作爲一個遠程調用框架,雖與同類型的框架,不知道誰優誰劣,但是就公司層面使用來說,還是很棒的。這裏簡單的寫一下怎

原创 Codis源碼解析——proxy監聽redis請求

上一篇我們講到,pkg/proxy/proxy.go的構造函數中,傳入Config,返回Proxy。其中有一步是 //s是Proxy go s.serveProxy() 每接到一個redis請求,就創建一個獨立的session進行

原创 Codis源碼解析——fe的啓動

雖然dashboard負責對集羣的實際操作,但是用戶的最直觀操作,都是來自於fe的。這一節我們就來講fe的啓動,沒有proxy和dashboard那麼複雜。 首先,啓動的時候指定fe的監聽端口,這個就是我們最後通過瀏覽器打開fe的

原创 Codis源碼解析——codis-server添加到集羣

上一篇,我們成功在集羣中添加了proxy。這一篇來講講codis-server添加到集羣的過程中發生了什麼。 第一步,先別急着添加server,而應該是創建分組。創建分組的過程很簡單,主要就是校驗group的id在不在1~9999

原创 Java CompletableFuture 詳解

出處: http://colobu.com/2016/02/29/Java-CompletableFuture/ Future是Java 5添加的類,用來描述一個異步計算的結果。你可以使用isDone方法檢查計算是否完成,或者使

原创 寫給後端程序員的 HTTP 緩存原理介紹

出處: www.cnblogs.com/xinzhao/p/5099807.html 通過Internet獲取資源既緩慢,成本又高。爲此,Http協議裏包含了控制緩存的部分,以使Http客戶端可以緩存和重用以前獲取的資源,從而優

原创 epoll淺析以及nio中的Selector

出處: https://my.oschina.net/hosee/blog/730598 首先介紹下epoll的基本原理,網上有很多版本,這裏選擇一個個人覺得相對清晰的講解(詳情見reference): 首先我們來定義流的概念,

原创 Codis源碼解析——處理slot操作(1)

上一篇我們講了slot在集羣中的分配方式,重點講了auto-rebalance的原理。之前我們說過,再啓動dashboard的時候,有一個goroutine專門用來處理slot的操作。這一篇我們就來看看slot的操作是如何進行的。

原创 Jodis報錯- JedisException- Proxy list empty

先把代碼貼上來 import io.codis.jodis.JedisResourcePool; import io.codis.jodis.RoundRobinJedisPool; import redis.clients.je

原创 Codis源碼解析——slot的分配

上一篇我們給codis集羣中添加了codis-server,接下來就是把1024個slot分配給每個codis-server。Codis給我們提供了多種方式,可以將指定序號的slot移到某個group,也可以將一個group中的多