1. 程式人生 > >redis 代理工具Predixy安裝部署

redis 代理工具Predixy安裝部署

redis proxy 安裝部署 predixy

Predixy

Predixy 是一款高性能全特征redis代理,支持redis-sentinel和redis-cluster

特性

  • 高性能並輕量級

  • 支持多線程

  • 多平臺支持:Linux、OSX、BSD、Windows(Cygwin)

  • 支持Redis Sentinel,可配置一組或者多組redis

  • 支持Redis Cluster

  • 支持redis阻塞型命令,包括blpop、brpop、brpoplpush

  • 支持scan命令,無論是單個redis還是多個redis實例都支持

  • 多key命令支持: mset/msetnx/mget/del/unlink/touch/exists

  • 支持redis的多數據庫,即可以使用select命令

  • 支持事務,當前僅限於Redis Sentinel下單一redis組可用

  • 支持腳本,包括命令:script load、eval、evalsha

  • 支持發布訂閱機制,也即Pub/Sub系列命令

  • 多數據中心支持,讀寫分離支持

  • 擴展的AUTH命令,強大的讀、寫、管理權限控制機制,健空間限制機制

  • 日誌可按級別采樣輸出,異步日誌記錄避免線程被io阻塞

  • 日誌文件可以按時間、大小自動切分

  • 豐富的統計信息,包括CPU、內存、請求、響應等信息

  • 延遲監控信息,可以看到整體延遲,分後端redis實例延遲

predixy很快,有多快? 對比幾個流行的redis代理(twemproxy,codis,redis-cerberus), predixy要比它們快得多。

編譯

Predixy可以在所有主流平臺下編譯,推薦在linux下使用,需要支持C++11的編譯器。

編譯非常簡單,下載或者git clone代碼後進到predixy目錄,直接執行: 首先解決編譯依賴:

yum install libstdc++-static -y                 
   git clone https://github.com/joyieldInc/predixy.git  

cd predixy/

$ make

編譯後會在src目錄生成一個可執行文件predixy

編譯debug版本:

$ make debug

更多編譯選項:

  • CXX=ccompiler,指定c編譯器,缺省是g++,可以指定為其它,例如:CXX=clang++

  • EV=epoll|poll|kqueue,指定異步io模型,缺省情況下是根據平臺來檢測

  • MT=false, 關閉多線程支持

  • TS=true, 開啟函數調用耗時分析,該選項僅用於開發模式

一些使用參數編譯的例子:

$ make CXX=clang++$ make EV=poll$ make MT=false$ make debug MT=false TS=true

安裝

簡單的只要拷貝src/predixy到目標路徑即可

$ cp src/predixy /usr/local/bin/

$ mkdir   -p /var/log/predixy/

predixy的配置類似redis, 具體配置項的含義在配置文件裏有詳細解釋,請參考下列配置文件:

  • predixy.conf,整體配置文件,會引用下面的配置文件

  • cluster.conf,用於Redis Cluster時,配置後端redis信息

  • sentinel.conf,用於Redis Sentinel時,配置後端redis信息

  • auth.conf,訪問權限控制配置,可以定義多個驗證密碼,可每個密碼指定讀、寫、管理權限,以及定義可訪問的健空間

  • dc.conf,多數據中心支持,可以定義讀寫分離規則,讀流量權重分配

  • latency.conf, 延遲監控規則定義,可以指定需要監控的命令以及延時時間間隔

提供這麽多配置文件實際上是按功能分開了,所有配置都可以寫到一個文件裏,也可以寫到多個文件裏然後在主配置文件裏引用進來。

運行

$ predixy /predixy/conf/predixy.conf

使用默認的配置文件predixy.conf, predixy將監聽地址0.0.0.0:7617,後端的redis是Redis Cluster 127.0.0.1:6379。通常,127.0.0.1:6379並不是運行在Redis Clusterr模式下,因此Predixy將 會有大量的錯誤日誌輸出。不過你依然可以用redis-cli連接predixy來試用一下:

$ redis-cli -p 7617 info

執行上條命令後可以看到predixy自身的一些信息,如果127.0.0.1:6379在運行的話,你可以試試其它redis命令,看看效果如何。

更多的啟動命令行參數請看幫助:

$ src/predixy -h

統計信息

和redis一樣,predixy用INFO命令來給出統計信息。

在redis-cli連接下執行下面的命令:

redis> INFO

你將看到類似redis執行INFO命令的輸出,不過這裏是predixy的統計信息。

benchmark 配置詳細文檔


本文出自 “康建華” 博客,轉載請與作者聯系!

redis 代理工具Predixy安裝部署