簡體   English   中英

Redis Sentinel和ShardedJedis用於ShardedJedisPipeline

[英]Redis Sentinel and ShardedJedis for ShardedJedisPipeline

我最初在生產時以集群模式使用Redis 但是后來我意識到,如果我使用ShardedJedis java API使用Redis independent servers ,則可以使用ShardedJedisPipeline ,由於明顯的原因,該性能更好。 但是在使用Redis Server維護自動故障轉移和高可用性時,我必須使用Redis Sentinel 因此,我開始研究Sentinel 但是在進行初始POC ,我知道我不能同時使用ShardedJedisSentinel

現在看來我所有的路徑都被封閉了

  1. Redis Cluster不支持管道
  2. 沒有Sentinel我將無法實現高可用性和自動故障轉移
  3. 我不能將SentinelShardedJedis一起ShardedJedis

如果我在任何地方都不對,請糾正我,並向我建議實現性能以及高可用性和自動故障轉移的最佳策略。

口語一般:

  • Redis Cluster支持管道化,就像Redis Standalone一樣。 此處的重要部分是在發出帶有鍵的命令時擊中正確的節點。 沒有鍵的命令(例如MULTIEXEC )對於Redis Cluster是不可行的
  • HA零件不是100%正確。 確實,Redis群集沒有像Redis Sentinel一樣具有HA注冊表,但群集本身維護拓撲。 如果使用主服務器和從服務器,則將客戶端故障轉移到新的主服務器並不重要。 唯一的技巧是找到合適的時機並相應地更新群集視圖。

AFAIK, Redisson具有自動拓撲更新機制。 我不確定Jedis是否會定期更新它的集群視圖,但是可以手動執行此操作。 生菜具有自動重新連接功能,並且自動群集視圖更新計划於3.3版本發布

HTH。

您應該考慮Redis Cluster的行為(Redis Cluster可以在任何操作下響應觸發器重定向)。

Redis Cluster的每個進程都像正常的Redis進程一樣工作,因此它支持管道化。 但是,這不能保證我們對多個節點進行流水線操作是安全的。

討論時間很長,因此我附上了我發布到Redis Google網上論壇的有關Redis Cluster with Pipeline的鏈接。 請在此處詳細了解。

Redis集群與管道

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM