1、自動化管理
CMDB管理所有的資源資訊。
Agent方式上報硬軟體資訊。
标準化基礎設定。機型、OS核心參數、軟體版本。
Puppet管理和下發标準化的配置檔案、公用的任務計劃、軟體包、運維工具。
資源申請自助服務。
2、自動化監控
zabbix作為主要的監控資料收集工具。
開發實時性能dashboard,對開發提供查詢。
單機部署多個redis,借助于zabbix discovery。
開發DB響應時間監控工具Titan。
基本思想來源于pt-query-degest,通過分析tcp應答封包産生日志。flume agent + kafka收集,spark實時計算,hbase作為存儲。最終得到hotquery/slowquery,request source等性能資料。
3、自動化運維
資源申請自助服務化。
如果申請合理,一鍵即可完成cluster叢集部署。
能不動手的,就堅決不動手,另外,監控資料對開發開發很重要,讓他們了解自己服務性能,有時候開發會更早發現叢集的一些異常行為,比如資料不過期這種問題,運維就講這麼多了,後面是幹貨中的幹貨,由deep同學開發的幾個實用工具。
4、redis開源工具介紹4.1 redis實時資料遷移工具
1) 線上實時遷移
2) redis/twemproxy/cluster 異構叢集之間互相遷移。
3)github:https://github.com/vipshop/redis-migrate-tool
4.2 redis cluster管理工具
1)批量更改叢集參數
2)clusterrebalance
3)很多功能,具體看github :
https://github.com/deep011/redis-cluster-tool
4.3 多線程版本Twemproxy
1)大幅度提升單個proxy的吞吐量,線程數可配置。
2)壓測情況下,20線程達到50w+qps,最優6線程達到29w。
3)完全相容twemproxy。
4)github:
https://github.com/vipshop/twemproxies
4.4 在開發的中的多線redis
1)Github:
https://github.com/vipshop/vire
2)歡迎一起參與協作開發,這是我們在開發中的項目,希望大家能夠提出好的意見。
問答(陳群和申政解答):問題1:版本更新,對資料有沒有影響?
答:我們重新開機更新從2.8.17到3.0.3/3.0.7沒有任何的異常。3.0到3.2我們目前還沒有實際更新操作過。
問題2:請問下sentinel模式下有什麼好的讀寫分離的方法嗎
答:我們沒有讀寫分離的使用,讀寫都在maste;叢集太多,管理複雜;此外,我們也做了分片,沒有做讀寫分離的必要;且我們幾乎是一主一從節點配置
問題3:redis的fork主要是為了rdb吧,去掉是為了什麼呢
答:fork不友好
問題4:如果不用fork,是怎麼保證rdb快照是精确的,有其他cow機制麼
答:可以通過其他方法,這個還在探究階段,但目标是不用fork
問題5:就是redis cluster模式下批量操作會有很多問題,可是不批量操作又會降低業務系統的性能
答:确實存在這方面的問題,這方面支援需要用戶端的支援,但是jedis的作者也不大願意支援pipeline或者一些multi key操作。如果是大批量的操作,可以用多線程提高用戶端的吞吐量。
本文作者:geelou
本文來自雲栖社群合作夥伴rediscn,了解相關資訊可以關注redis.cn網站。