Redis闆嗙兢閮芥湁鍝簺妯″紡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis闆嗙兢閮芥湁鍝簺妯″紡相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/%e5%b8%a6%e6%9d%a5' title='甯︽潵'>甯︽潵   second   鐜拌薄   闆嗙兢   鍒嗘暟   art   閰嶇疆鏂囦欢   鍒ゆ柇   鎵撹祻   

鍓嶈█:

涓€锛屼负浠€涔堣浣跨敤redis

1锛岃В鍐冲簲鐢ㄦ湇鍔″櫒鐨刢pu鍜屽唴瀛樺帇鍔?/p>

2锛屽噺灏慽o鐨勮鎿嶄綔锛屽噺杞籭o鐨勫帇鍔?/p>

3锛屽叧绯诲瀷鏁版嵁搴撴墿灞曟€т笉寮猴紝闅句互鏀瑰彉琛ㄧ殑缁撴瀯

浜岋紝浼樼偣

1,nosql鏁版嵁搴撴病鏈夊叧鑱斿叧绯伙紝鏁版嵁缁撴瀯绠€鍗曪紝鎵╁睍瀹规槗

2锛屾暟鎹鍐欏揩锛岃兘澶熸瘡绉掕儨浠诲嚑鍗佷竾鐨勫苟鍙戯紝澶勭悊閫熷害蹇?/p>

涓夛紝浣跨敤鍦烘櫙

1锛屾暟鎹珮骞跺彂璇诲啓

2锛屾捣閲忔暟鎹鍐?/p>

3锛屽涓嶈鍒欐暟鎹篃灏辨槸鎵╁睍鎬ц姹傞珮鐨勬暟鎹?/p>

鍥涳紝涓嶉€傚悎鍦烘櫙

1锛岄渶瑕佷簨鍔℃敮鎸侊紝铏界劧瀹冧篃鏈変簨鍔′絾鏄病鏈夊叧绯诲瀷鏁版嵁搴撶殑閭d箞鎴愮啛鍚?/p>

2锛屽熀浜巗ql杩涜鎿嶄綔

濂戒簡鎵繙浜嗭紝鐜板湪鏉ヨ璁插畠鐨勯泦缇ゆā寮忎簡

1锛屼富浠庡鍒?/h3>

2锛屽摠鍏垫ā寮?/h3>

3锛孯edis瀹樻柟鎻愪緵鐨凜luster闆嗙兢妯″紡(鏈嶅姟绔?

4锛孞edis sharding闆嗙兢(瀹㈡埛绔痵harding)

5,鍒╃敤涓棿浠朵唬鐞嗭紝姣斿璞岃眴鑽氱殑codis绛?/h3>

濂戒簡浠嬬粛瀹屼簡浠栦滑鐨勬ā寮忥紝鐜板湪鏉ュ垎鏋愪竴涓嬩粬浠殑浼樼己鐐癸紝杩樻湁鍘熺悊鍚?/p>

涓讳粠澶嶅埗锛圡aster-Slave Replication锛?

瀹炵幇涓讳粠澶嶅埗锛圡aster-Slave Replication锛夌殑宸ヤ綔鍘熺悊锛歋lave浠庤妭鐐规湇鍔″惎鍔ㄥ苟杩炴帴鍒癕aster涔嬪悗锛屽畠灏嗕富鍔ㄥ彂閫佷竴涓猄YNC鍛戒护銆侻aster鏈嶅姟涓昏妭鐐规敹鍒板悓姝ュ懡浠ゅ悗灏嗗惎鍔ㄥ悗鍙板瓨鐩樿繘绋嬶紝鍚屾椂鏀堕泦鎵€鏈夋帴鏀跺埌鐨勭敤浜庝慨鏀规暟鎹泦鐨勫懡浠わ紝鍦ㄥ悗鍙拌繘绋嬫墽琛屽畬姣曞悗锛孧aster灏嗕紶閫佹暣涓暟鎹簱鏂囦欢鍒癝lave锛屼互瀹屾垚涓€娆″畬鍏ㄥ悓姝ャ€傝€孲lave浠庤妭鐐规湇鍔″湪鎺ユ敹鍒版暟鎹簱鏂囦欢鏁版嵁涔嬪悗灏嗗叾瀛樼洏骞跺姞杞藉埌鍐呭瓨涓€傛鍚庯紝Master涓昏妭鐐圭户缁皢鎵€鏈夊凡缁忔敹闆嗗埌鐨勪慨鏀瑰懡浠わ紝鍜屾柊鐨勪慨鏀瑰懡浠や緷娆′紶閫佺粰Slaves锛孲lave灏嗗湪鏈鎵ц杩欎簺鏁版嵁淇敼鍛戒护锛屼粠鑰岃揪鍒版渶缁堢殑鏁版嵁鍚屾銆?/p>

濡傛灉Master鍜孲lave涔嬮棿鐨勯摼鎺ュ嚭鐜版柇杩炵幇璞★紝Slave鍙互鑷姩閲嶈繛Master锛屼絾鏄湪杩炴帴鎴愬姛涔嬪悗锛屼竴娆″畬鍏ㄥ悓姝ュ皢琚嚜鍔ㄦ墽琛屻€?/p>

涓讳粠澶嶅埗閰嶇疆

  • 淇敼浠庤妭鐐圭殑閰嶇疆鏂囦欢锛歴laveof masterip masterport
  • 濡傛灉璁剧疆浜嗗瘑鐮侊紝灏辫璁剧疆锛歮asterauth master-password

涓讳粠妯″紡鐨勪紭缂虹偣

浼樼偣锛?/p>

  • 鍚屼竴涓狹aster鍙互鍚屾澶氫釜Slaves銆?/li>
  • Slave鍚屾牱鍙互鎺ュ彈鍏跺畠Slaves鐨勮繛鎺ュ拰鍚屾璇锋眰锛岃繖鏍峰彲浠ユ湁鏁堢殑鍒嗚浇Master鐨勫悓姝ュ帇鍔涖€傚洜姝ゆ垜浠彲浠ュ皢Redis鐨凴eplication鏋舵瀯瑙嗕负鍥剧粨鏋勩€?/li>
  • Master Server鏄互闈為樆濉炵殑鏂瑰紡涓篠laves鎻愪緵鏈嶅姟銆傛墍浠ュ湪Master-Slave鍚屾鏈熼棿锛屽鎴风浠嶇劧鍙互鎻愪氦鏌ヨ鎴栦慨鏀硅姹傘€?/li>
  • Slave Server鍚屾牱鏄互闈為樆濉炵殑鏂瑰紡瀹屾垚鏁版嵁鍚屾銆傚湪鍚屾鏈熼棿锛屽鏋滄湁瀹㈡埛绔彁浜ゆ煡璇㈣姹傦紝Redis鍒欒繑鍥炲悓姝ヤ箣鍓嶇殑鏁版嵁
  • 涓轰簡鍒嗚浇Master鐨勮鎿嶄綔鍘嬪姏锛孲lave鏈嶅姟鍣ㄥ彲浠ヤ负瀹㈡埛绔彁渚涘彧璇绘搷浣滅殑鏈嶅姟锛屽啓鏈嶅姟浠嶇劧蹇呴』鐢盡aster鏉ュ畬鎴愩€傚嵆渚垮姝わ紝绯荤粺鐨勪几缂╂€ц繕鏄緱鍒颁簡寰堝ぇ鐨勬彁楂樸€?/li>
  • Master鍙互灏嗘暟鎹繚瀛樻搷浣滀氦缁橲laves瀹屾垚锛屼粠鑰岄伩鍏嶄簡鍦∕aster涓鏈夌嫭绔嬬殑杩涚▼鏉ュ畬鎴愭鎿嶄綔銆?/li>
  • 鏀寔涓讳粠澶嶅埗锛屼富鏈轰細鑷姩灏嗘暟鎹悓姝ュ埌浠庢満锛屽彲浠ヨ繘琛岃鍐欏垎绂汇€?/li>

缂虹偣锛?/p>

  • Redis涓嶅叿澶囪嚜鍔ㄥ閿欏拰鎭㈠鍔熻兘锛屼富鏈轰粠鏈虹殑瀹曟満閮戒細瀵艰嚧鍓嶇閮ㄥ垎璇诲啓璇锋眰澶辫触锛岄渶瑕佺瓑寰呮満鍣ㄩ噸鍚垨鑰呮墜鍔ㄥ垏鎹㈠墠绔殑IP鎵嶈兘鎭㈠銆?/li>
  • 涓绘満瀹曟満锛屽畷鏈哄墠鏈夐儴鍒嗘暟鎹湭鑳藉強鏃跺悓姝ュ埌浠庢満锛屽垏鎹P鍚庤繕浼氬紩鍏ユ暟鎹笉涓€鑷寸殑闂锛岄檷浣庝簡绯荤粺鐨勫彲鐢ㄦ€с€?/li>
  • Redis鐨勪富浠庡鍒堕噰鐢ㄥ叏閲忓鍒讹紝澶嶅埗杩囩▼涓富鏈轰細fork鍑轰竴涓瓙杩涚▼瀵瑰唴瀛樺仛涓€浠藉揩鐓э紝骞跺皢瀛愯繘绋嬬殑鍐呭瓨蹇収淇濆瓨涓烘枃浠跺彂閫佺粰浠庢満锛岃繖涓€杩囩▼闇€瑕佺‘淇濅富鏈烘湁瓒冲澶氱殑绌轰綑鍐呭瓨銆傝嫢蹇収鏂囦欢杈冨ぇ锛屽闆嗙兢鐨勬湇鍔¤兘鍔涗細浜х敓杈冨ぇ鐨勫奖鍝嶏紝鑰屼笖澶嶅埗杩囩▼鏄湪浠庢満鏂板姞鍏ラ泦缇ゆ垨鑰呬粠鏈哄拰涓绘満缃戠粶鏂紑閲嶈繛鏃堕兘浼氳繘琛岋紝涔熷氨鏄綉缁滄尝鍔ㄩ兘浼氶€犳垚涓绘満鍜屼粠鏈洪棿鐨勪竴娆″叏閲忕殑鏁版嵁澶嶅埗锛岃繖瀵瑰疄闄呯殑绯荤粺杩愯惀閫犳垚浜嗕笉灏忕殑楹荤儲銆?/li>
  • Redis杈冮毦鏀寔鍦ㄧ嚎鎵╁锛屽湪闆嗙兢瀹归噺杈惧埌涓婇檺鏃跺湪绾挎墿瀹逛細鍙樺緱寰堝鏉傘€備负閬垮厤杩欎竴闂锛岃繍缁翠汉鍛樺湪绯荤粺涓婄嚎鏃跺繀椤荤‘淇濇湁瓒冲鐨勭┖闂达紝杩欏璧勬簮閫犳垚浜嗗緢澶х殑娴垂銆?/li>

鍏跺疄redis鐨勪富浠庢ā寮忓緢绠€鍗曪紝鍦ㄥ疄闄呯殑鐢熶骇鐜涓槸寰堝皯浣跨敤鐨勶紝鎴戜篃涓嶅缓璁湪瀹為檯鐨勭敓浜х幆澧冧腑浣跨敤涓讳粠妯″紡鏉ユ彁渚涚郴缁熺殑楂樺彲鐢ㄦ€э紝涔嬫墍浠ヤ笉寤鸿浣跨敤閮芥槸鐢卞畠鐨勭己鐐归€犳垚鐨勶紝鍦ㄦ暟鎹噺闈炲父澶х殑鎯呭喌锛屾垨鑰呭绯荤粺鐨勯珮鍙敤鎬ц姹傚緢楂樼殑鎯呭喌涓嬶紝涓讳粠妯″紡涔熸槸涓嶇ǔ瀹氱殑銆?/p>

鍝ㄥ叺妯″紡:

璇ユā寮忔槸浠嶳edis鐨?.6鐗堟湰寮€濮嬫彁渚涚殑锛屼絾鏄綋鏃惰繖涓増鏈殑妯″紡鏄笉绋冲畾鐨勶紝鐩村埌Redis鐨?.8鐗堟湰浠ュ悗锛岃繖涓摠鍏垫ā寮忔墠绋冲畾涓嬫潵锛屾棤璁烘槸涓讳粠妯″紡锛岃繕鏄摠鍏垫ā寮忥紝杩欎袱涓ā寮忛兘鏈変竴涓棶棰橈紝涓嶈兘姘村钩鎵╁锛屽苟涓旇繖涓や釜妯″紡鐨勯珮鍙敤鐗规€ч兘浼氬彈鍒癕aster涓昏妭鐐瑰唴瀛樼殑闄愬埗銆?/p>

Sentinel(鍝ㄥ叺)杩涚▼鏄敤浜庣洃鎺edis闆嗙兢涓璏aster涓绘湇鍔″櫒宸ヤ綔鐨勭姸鎬侊紝鍦∕aster涓绘湇鍔″櫒鍙戠敓鏁呴殰鐨勬椂鍊欙紝鍙互瀹炵幇Master鍜孲lave鏈嶅姟鍣ㄧ殑鍒囨崲锛屼繚璇佺郴缁熺殑楂樺彲鐢ㄣ€?/p>

Sentinel锛堝摠鍏碉級杩涚▼鐨勪綔鐢?/p>

  1. 鐩戞帶(Monitoring): 鍝ㄥ叺(sentinel) 浼氫笉鏂湴妫€鏌ヤ綘鐨凪aster鍜孲lave鏄惁杩愪綔姝e父銆?/li>
  2. 鎻愰啋(Notification)锛氬綋琚洃鎺х殑鏌愪釜Redis鑺傜偣鍑虹幇闂鏃? 鍝ㄥ叺(sentinel) 鍙互閫氳繃 API 鍚戠鐞嗗憳鎴栬€呭叾浠栧簲鐢ㄧ▼搴忓彂閫侀€氱煡銆?/li>
  3. 鑷姩鏁呴殰杩佺Щ(Automatic failover)锛氬綋涓€涓狹aster涓嶈兘姝e父宸ヤ綔鏃讹紝鍝ㄥ叺(sentinel) 浼氬紑濮嬩竴娆¤嚜鍔ㄦ晠闅滆縼绉绘搷浣滐紝瀹冧細灏嗗け鏁圡aster鐨勫叾涓竴涓猄lave鍗囩骇涓烘柊鐨凪aster, 骞惰澶辨晥Master鐨勫叾浠朣lave鏀逛负澶嶅埗鏂扮殑Master锛涘綋瀹㈡埛绔瘯鍥捐繛鎺ュけ鏁堢殑Master鏃讹紝闆嗙兢涔熶細鍚戝鎴风杩斿洖鏂癕aster鐨勫湴鍧€锛屼娇寰楅泦缇ゅ彲浠ヤ娇鐢ㄧ幇鍦ㄧ殑Master鏇挎崲澶辨晥Master銆侻aster鍜孲lave鏈嶅姟鍣ㄥ垏鎹㈠悗锛孧aster鐨剅edis.conf銆丼lave鐨剅edis.conf鍜宻entinel.conf鐨勯厤缃枃浠剁殑鍐呭閮戒細鍙戠敓鐩稿簲鐨勬敼鍙橈紝鍗筹紝Master涓绘湇鍔″櫒鐨剅edis.conf閰嶇疆鏂囦欢涓細澶氫竴琛宻laveof鐨勯厤缃紝sentinel.conf鐨勭洃鎺х洰鏍囦細闅忎箣璋冩崲銆?/li>

Sentinel锛堝摠鍏碉級杩涚▼鐨勫伐浣滄柟寮?/p>

  1. 姣忎釜Sentinel锛堝摠鍏碉級杩涚▼浠ユ瘡绉掗挓涓€娆$殑棰戠巼鍚戞暣涓泦缇や腑鐨凪aster涓绘湇鍔″櫒锛孲lave浠庢湇鍔″櫒浠ュ強鍏朵粬Sentinel锛堝摠鍏碉級杩涚▼鍙戦€佷竴涓?PING 鍛戒护銆?/li>
  2. 濡傛灉涓€涓疄渚嬶紙instance锛夎窛绂绘渶鍚庝竴娆℃湁鏁堝洖澶?PING 鍛戒护鐨勬椂闂磋秴杩?down-after-milliseconds 閫夐」鎵€鎸囧畾鐨勫€硷紝 鍒欒繖涓疄渚嬩細琚?Sentinel锛堝摠鍏碉級杩涚▼鏍囪涓轰富瑙備笅绾匡紙SDOWN锛?/li>
  3. 濡傛灉涓€涓狹aster涓绘湇鍔″櫒琚爣璁颁负涓昏涓嬬嚎锛圫DOWN锛夛紝鍒欐鍦ㄧ洃瑙嗚繖涓狹aster涓绘湇鍔″櫒鐨勬墍鏈?Sentinel锛堝摠鍏碉級杩涚▼瑕佷互姣忕涓€娆$殑棰戠巼纭Master涓绘湇鍔″櫒鐨勭‘杩涘叆浜嗕富瑙備笅绾跨姸鎬?/li>
  4. 褰撴湁瓒冲鏁伴噺鐨?Sentinel锛堝摠鍏碉級杩涚▼锛堝ぇ浜庣瓑浜庨厤缃枃浠舵寚瀹氱殑鍊硷級鍦ㄦ寚瀹氱殑鏃堕棿鑼冨洿鍐呯‘璁aster涓绘湇鍔″櫒杩涘叆浜嗕富瑙備笅绾跨姸鎬侊紙SDOWN锛夛紝 鍒橫aster涓绘湇鍔″櫒浼氳鏍囪涓哄瑙備笅绾匡紙ODOWN锛?/li>
  5. 鍦ㄤ竴鑸儏鍐典笅锛?姣忎釜 Sentinel锛堝摠鍏碉級杩涚▼浼氫互姣?10 绉掍竴娆$殑棰戠巼鍚戦泦缇や腑鐨勬墍鏈塎aster涓绘湇鍔″櫒銆丼lave浠庢湇鍔″櫒鍙戦€?INFO 鍛戒护銆?/li>
  6. 褰揗aster涓绘湇鍔″櫒琚?Sentinel锛堝摠鍏碉級杩涚▼鏍囪涓哄瑙備笅绾匡紙ODOWN锛夋椂锛孲entinel锛堝摠鍏碉級杩涚▼鍚戜笅绾跨殑 Master涓绘湇鍔″櫒鐨勬墍鏈?Slave浠庢湇鍔″櫒鍙戦€?INFO 鍛戒护鐨勯鐜囦細浠?10 绉掍竴娆℃敼涓烘瘡绉掍竴娆°€?/li>
  7. 鑻ユ病鏈夎冻澶熸暟閲忕殑 Sentinel锛堝摠鍏碉級杩涚▼鍚屾剰 Master涓绘湇鍔″櫒涓嬬嚎锛?Master涓绘湇鍔″櫒鐨勫瑙備笅绾跨姸鎬佸氨浼氳绉婚櫎銆傝嫢 Master涓绘湇鍔″櫒閲嶆柊鍚?Sentinel锛堝摠鍏碉級杩涚▼鍙戦€?PING 鍛戒护杩斿洖鏈夋晥鍥炲锛孧aster涓绘湇鍔″櫒鐨勪富瑙備笅绾跨姸鎬佸氨浼氳绉婚櫎銆?/li>

鍝ㄥ叺妯″紡鐨勪紭缂虹偣

浼樼偣:

  • 鍝ㄥ叺闆嗙兢妯″紡鏄熀浜庝富浠庢ā寮忕殑锛屾墍鏈変富浠庣殑浼樼偣锛屽摠鍏垫ā寮忓悓鏍峰叿鏈夈€?/li>
  • 涓讳粠鍙互鍒囨崲锛屾晠闅滃彲浠ヨ浆绉伙紝绯荤粺鍙敤鎬ф洿濂姐€?/li>
  • 鍝ㄥ叺妯″紡鏄富浠庢ā寮忕殑鍗囩骇锛岀郴缁熸洿鍋ュ.锛屽彲鐢ㄦ€ф洿楂樸€?/li>

缂虹偣:

  • Redis杈冮毦鏀寔鍦ㄧ嚎鎵╁锛屽湪闆嗙兢瀹归噺杈惧埌涓婇檺鏃跺湪绾挎墿瀹逛細鍙樺緱寰堝鏉傘€備负閬垮厤杩欎竴闂锛岃繍缁翠汉鍛樺湪绯荤粺涓婄嚎鏃跺繀椤荤‘淇濇湁瓒冲鐨勭┖闂达紝杩欏璧勬簮閫犳垚浜嗗緢澶х殑娴垂銆?/li>
  • 閰嶇疆澶嶆潅

Redis瀹樻柟 Cluster闆嗙兢妯″紡

Redis Cluster鏄竴绉嶆湇鍔″櫒Sharding鎶€鏈紝3.0鐗堟湰寮€濮嬫寮忔彁渚涖€?img alt="鎶€鏈浘鐗? class="has" src="https://img-blog.csdn.net/20181008152757554?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3B3MTkxNDEwMTQ3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" width="495" height="570" />

鍦ㄨ繖涓浘涓紝姣忎竴涓摑鑹茬殑鍦堥兘浠h〃鐫€涓€涓猺edis鐨勬湇鍔″櫒鑺傜偣銆傚畠浠换浣曚袱涓妭鐐逛箣闂撮兘鏄浉浜掕繛閫氱殑銆傚鎴风鍙互涓庝换浣曚竴涓妭鐐圭浉杩炴帴锛岀劧鍚庡氨鍙互璁块棶闆嗙兢涓殑浠讳綍涓€涓妭鐐广€傚鍏惰繘琛屽瓨鍙栧拰鍏朵粬鎿嶄綔銆?/p>

Redis闆嗙兢鏁版嵁鍒嗙墖

鍦╮edis鐨勬瘡涓€涓妭鐐逛笂锛岄兘鏈夎繖涔堜袱涓笢瑗匡紝涓€涓槸鎻掓Ы锛坰lot锛夊彲浠ョ悊瑙d负鏄竴涓彲浠ュ瓨鍌ㄤ袱涓暟鍊肩殑涓€涓彉閲忚繖涓彉閲忕殑鍙栧€艰寖鍥存槸锛?-16383銆傝繕鏈変竴涓氨鏄痗luster鎴戜釜浜烘妸杩欎釜cluster鐞嗚В涓烘槸涓€涓泦缇ょ鐞嗙殑鎻掍欢銆傚綋鎴戜滑鐨勫瓨鍙栫殑key鍒拌揪鐨勬椂鍊欙紝redis浼氭牴鎹甤rc16鐨勭畻娉曞緱鍑轰竴涓粨鏋滐紝鐒跺悗鎶婄粨鏋滃 16384 姹備綑鏁帮紝杩欐牱姣忎釜 key 閮戒細瀵瑰簲涓€涓紪鍙峰湪 0-16383 涔嬮棿鐨勫搱甯屾Ы锛岄€氳繃杩欎釜鍊硷紝鍘绘壘鍒板搴旂殑鎻掓Ы鎵€瀵瑰簲鐨勮妭鐐癸紝鐒跺悗鐩存帴鑷姩璺宠浆鍒拌繖涓搴旂殑鑺傜偣涓婅繘琛屽瓨鍙栨搷浣溿€?img alt="鎶€鏈浘鐗? class="has" src="https://img-blog.csdn.net/20181008154116173?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3B3MTkxNDEwMTQ3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" width="927" height="629" />

杩樻湁灏辨槸鍥犱负濡傛灉闆嗙兢鐨勮瘽锛屾槸鏈夊ソ澶氫釜redis涓€璧峰伐浣滅殑锛岄偅涔堬紝灏遍渶瑕佽繖涓泦缇や笉鏄偅涔堝鏄撴寕鎺夛紝鎵€浠ュ憿锛岀悊璁轰笂灏卞簲璇ョ粰闆嗙兢涓殑姣忎釜鑺傜偣鑷冲皯涓€涓鐢ㄧ殑redis鏈嶅姟銆傝繖涓鐢ㄧ殑redis绉颁负浠庤妭鐐癸紙slave锛夈€傞偅涔堣繖涓泦缇ゆ槸濡備綍鍒ゆ柇鏄惁鏈夋煇涓妭鐐规寕鎺変簡鍛紵

棣栧厛瑕佽鐨勬槸锛屾瘡涓€涓妭鐐归兘瀛樻湁杩欎釜闆嗙兢鎵€鏈変富鑺傜偣浠ュ強浠庤妭鐐圭殑淇℃伅銆?/p>

瀹冧滑涔嬮棿閫氳繃浜掔浉鐨刾ing-pong鍒ゆ柇鏄惁鑺傜偣鍙互杩炴帴涓娿€傚鏋滄湁涓€鍗婁互涓婄殑鑺傜偣鍘籶ing涓€涓妭鐐圭殑鏃跺€欐病鏈夊洖搴旓紝闆嗙兢灏辫涓鸿繖涓妭鐐瑰畷鏈轰簡锛岀劧鍚庡幓杩炴帴瀹冪殑澶囩敤鑺傜偣銆傚鏋滄煇涓妭鐐瑰拰鎵€鏈変粠鑺傜偣鍏ㄩ儴鎸傛帀锛屾垜浠泦缇ゅ氨杩涘叆faill鐘舵€併€傝繕鏈夊氨鏄鏋滄湁涓€鍗婁互涓婄殑涓昏妭鐐瑰畷鏈猴紝閭d箞鎴戜滑闆嗙兢鍚屾牱杩涘叆鍙戝姏浜嗙姸鎬併€傝繖灏辨槸鎴戜滑鐨剅edis鐨勬姇绁ㄦ満鍒讹紝鍏蜂綋鍘熺悊濡備笅鍥炬墍绀猴細鎶€鏈浘鐗? class=

  • 鎶曠エ杩囩▼鏄泦缇や腑鎵€鏈塵aster鍙備笌,濡傛灉鍗婃暟浠ヤ笂master鑺傜偣涓巑aster鑺傜偣閫氫俊瓒呮椂(cluster-node-timeout),璁や负褰撳墠master鑺傜偣鎸傛帀.
  • 浠€涔堟椂鍊欐暣涓泦缇や笉鍙敤(cluster_state:fail)?
    1. 濡傛灉闆嗙兢浠绘剰master鎸傛帀,涓斿綋鍓峬aster娌℃湁slave.闆嗙兢杩涘叆fail鐘舵€?涔熷彲浠ョ悊瑙f垚闆嗙兢鐨剆lot鏄犲皠[0-16383]涓嶅畬鏁存椂杩涘叆fail鐘舵€? ps : redis-3.0.0.rc1鍔犲叆cluster-require-full-coverage鍙傛暟,榛樿鍏抽棴,鎵撳紑闆嗙兢鍏煎閮ㄥ垎澶辫触.
    2. 濡傛灉闆嗙兢浠绘剰master鎸傛帀,涓斿綋鍓峬aster娌℃湁slave.闆嗙兢杩涘叆fail鐘舵€?涔熷彲浠ョ悊瑙f垚闆嗙兢鐨剆lot鏄犲皠[0-16383]涓嶅畬鏁存椂杩涘叆fail鐘舵€? ps : redis-3.0.0.rc1鍔犲叆cluster-require-full-coverage鍙傛暟,榛樿鍏抽棴,鎵撳紑闆嗙兢鍏煎閮ㄥ垎澶辫触.

Redis 3.0鐨勯泦缇ゆ柟妗堟湁浠ヤ笅涓や釜闂銆?/p>

  1. 涓€涓猂edis瀹炰緥鍏峰浜?ldquo;鏁版嵁瀛樺偍”鍜?ldquo;璺敱閲嶅畾鍚?rdquo;锛屽畬鍏ㄥ幓涓績鍖栫殑璁捐銆傝繖甯︽潵鐨勫ソ澶勬槸閮ㄧ讲闈炲父绠€鍗曪紝鐩存帴閮ㄧ讲Redis灏辫锛屼笉鍍廋odis鏈夐偅涔堝鐨勭粍浠跺拰渚濊禆銆備絾甯︽潵鐨勯棶棰樻槸寰堥毦瀵逛笟鍔¤繘琛屾棤鐥涚殑鍗囩骇锛屽鏋滃摢澶㏑edis闆嗙兢鍑轰簡浠€涔堜弗閲嶇殑Bug锛屽氨鍙兘鍥炴粴鏁翠釜Redis闆嗙兢銆?/li>
  2. 瀵瑰崗璁繘琛屼簡杈冨ぇ鐨勪慨鏀癸紝瀵瑰簲鐨凴edis瀹㈡埛绔篃闇€瑕佸崌绾с€傚崌绾edis瀹㈡埛绔悗璋佽兘纭繚娌℃湁Bug锛熻€屼笖瀵逛簬绾夸笂宸茬粡澶ц妯¤繍琛岀殑涓氬姟锛屽崌绾т唬鐮佷腑鐨凴edis瀹㈡埛绔篃鏄竴涓緢楹荤儲鐨勪簨鎯呫€?/li>

Redis Cluster鏄疪edis 3.0浠ュ悗鎵嶆寮忔帹鍑猴紝鏃堕棿杈冩櫄锛岀洰鍓嶈兘璇佹槑鍦ㄥぇ瑙勬ā鐢熶骇鐜涓嬫垚鍔熺殑妗堜緥杩樹笉鏄緢澶氾紝闇€瑕佹椂闂存楠屻€?/strong>

Jedis sharding闆嗙兢

Redis Sharding鍙互璇存槸鍦≧edis cluster鍑烘潵涔嬪墠涓氱晫鏅亶鐨勯噰鐢ㄦ柟寮忥紝鍏朵富瑕佹€濇兂鏄噰鐢╤ash绠楁硶灏嗗瓨鍌ㄦ暟鎹殑key杩涜hash鏁e垪锛岃繖鏍风壒瀹氱殑key浼氳瀹氫负鍒扮壒瀹氱殑鑺傜偣涓娿€?/p>

鎶€鏈浘鐗? class=

搴嗗垢鐨勬槸锛孞ava Redis瀹㈡埛绔┍鍔↗edis宸叉敮鎸丷edis Sharding鍔熻兘锛屽嵆ShardedJedis浠ュ強缁撳悎缂撳瓨姹犵殑ShardedJedisPool

Jedis鐨凴edis Sharding瀹炵幇鍏锋湁濡備笅鐗圭偣锛?/p>

  1. 閲囩敤涓€鑷存€у搱甯岀畻娉曪紝灏唊ey鍜岃妭鐐筺ame鍚屾椂hashing锛岀劧鍚庤繘琛屾槧灏勫尮閰嶏紝閲囩敤鐨勭畻娉曟槸MURMUR_HASH銆傞噰鐢ㄤ竴鑷存€у搱甯岃€屼笉鏄噰鐢ㄧ畝鍗曠被浼煎搱甯屾眰妯℃槧灏勭殑涓昏鍘熷洜鏄綋澧炲姞鎴栧噺灏戣妭鐐规椂锛屼笉浼氫骇鐢熺敱浜庨噸鏂板尮閰嶉€犳垚鐨剅ehashing銆備竴鑷存€у搱甯屽彧褰卞搷鐩搁偦鑺傜偣key鍒嗛厤锛屽奖鍝嶉噺灏忋€?/li>
  2. 涓轰簡閬垮厤涓€鑷存€у搱甯屽彧褰卞搷鐩搁偦鑺傜偣閫犳垚鑺傜偣鍒嗛厤鍘嬪姏锛孲hardedJedis浼氬姣忎釜Redis鑺傜偣鏍规嵁鍚嶅瓧(娌℃湁锛孞edis浼氳祴浜堢己鐪佸悕瀛?浼氳櫄鎷熷寲鍑?60涓櫄鎷熻妭鐐硅繘琛屾暎鍒椼€傛牴鎹潈閲峸eight锛屼篃鍙櫄鎷熷寲鍑?60鍊嶆暟鐨勮櫄鎷熻妭鐐广€傜敤铏氭嫙鑺傜偣鍋氭槧灏勫尮閰嶏紝鍙互鍦ㄥ鍔犳垨鍑忓皯Redis鑺傜偣鏃讹紝key鍦ㄥ悇Redis鑺傜偣绉诲姩鍐嶅垎閰嶆洿鍧囧寑锛岃€屼笉鏄彧鏈夌浉閭昏妭鐐瑰彈褰卞搷銆?/li>
  3. ShardedJedis鏀寔keyTagPattern妯″紡锛屽嵆鎶藉彇key鐨勪竴閮ㄥ垎keyTag鍋歴harding锛岃繖鏍烽€氳繃鍚堢悊鍛藉悕key锛屽彲浠ュ皢涓€缁勭浉鍏宠仈鐨刱ey鏀惧叆鍚屼竴涓猂edis鑺傜偣锛岃繖鍦ㄩ伩鍏嶈法鑺傜偣璁块棶鐩稿叧鏁版嵁鏃跺緢閲嶈銆?/li>

褰撶劧锛孯edis Sharding杩欑杞婚噺鐏垫椿鏂瑰紡蹇呯劧鍦ㄩ泦缇ゅ叾瀹冭兘鍔涙柟闈㈠仛鍑哄Ε鍗忋€傛瘮濡傛墿瀹癸紝褰撴兂瑕佸鍔燫edis鑺傜偣鏃讹紝灏界閲囩敤涓€鑷存€у搱甯岋紝姣曠珶杩樻槸浼氭湁key鍖归厤涓嶅埌鑰屼涪澶憋紝杩欐椂闇€瑕侀敭鍊艰縼绉汇€?br />浣滀负杞婚噺绾у鎴风sharding锛屽鐞哛edis閿€艰縼绉绘槸涓嶇幇瀹炵殑锛岃繖灏辫姹傚簲鐢ㄥ眰闈㈠厑璁窻edis涓暟鎹涪澶辨垨浠庡悗绔暟鎹簱閲嶆柊鍔犺浇鏁版嵁銆備絾鏈変簺鏃跺€欙紝鍑荤┛缂撳瓨灞傦紝鐩存帴璁块棶鏁版嵁搴撳眰锛屼細瀵圭郴缁熻闂€犳垚寰堝ぇ鍘嬪姏銆?/p>

鍒╃敤涓棿浠朵唬鐞?/h2>

涓棿浠剁殑浣滅敤鏄皢鎴戜滑闇€瑕佸瓨鍏edis涓殑鏁版嵁鐨刱ey閫氳繃涓€濂楃畻娉曡绠楀緱鍑轰竴涓€笺€傜劧鍚庢牴鎹繖涓€兼壘鍒板搴旂殑redis鑺傜偣锛屽皢杩欎簺鏁版嵁瀛樺湪杩欎釜redis鐨勮妭鐐逛腑銆?/p>

甯哥敤鐨勪腑闂翠欢鏈夎繖鍑犵

鍏蜂綋鐢ㄦ硶灏变笉璧樿堪浜嗭紝鍙互鑷鐧惧害銆?/p>

鎬荤粨

  1. 瀹㈡埛绔垎鐗囷紙sharding锛夐渶瑕佸鎴风缁存姢鍒嗙墖绠楁硶锛岃繖鏄竴绉嶉潤鎬佺殑鍒嗙墖鏂规锛岄渶瑕佸鍔犳垨鑰呭噺灏慠edis瀹炰緥鐨勬暟閲忥紝闇€瑕佹墜宸ヨ皟鏁村垎鐗囩殑绋嬪簭銆?/li>
  2. 鍒╃敤涓棿浠剁殑鎯呭喌鍒欎細褰卞搷鍒皉edis鐨勬€ц兘锛屽叿浣撶湅涓棿浠惰€屽畾锛屾瘯绔熸墍鏈夎姹傞兘瑕佺粡杩囦腑闂翠欢涓€灞傝繃婊?/li>
  3. 瀹樻柟鎻愪緵鏂规锛岀幇鏃剁偣鎴愬姛妗堜緥涓嶅銆?/li>
鏂囩珷鏈€鍚庡彂甯冧簬: 2018-10-08 15:42:54
鏈?nbsp;0 涓汉鎵撹祻

以上是关于Redis闆嗙兢閮芥湁鍝簺妯″紡的主要内容,如果未能解决你的问题,请参考以下文章

flink1.10 Linux 闆嗙兢瀹夎

Docker涔媠warm閮ㄧ讲闆嗙兢

linux闆嗙兢

鍐呯綉闆嗙兢鍑嗗悓姝hell鑴氭湰

hadoop闆嗙兢鍩烘湰杩涚▼

Docker Swanm闆嗙兢閰嶇疆