面试问题redis有哪些集群方案 面试中关于redis的问题有哪些

\u9762\u8bd5\u95ee\u9898\u6709\u54ea\u4e9b\uff1f

redis\u4e2d\u7684\u6570\u636e\u7c7b\u578b
redis\u96c6\u7fa4\u65b9\u6848
redis\u4e8b\u52a1\u5904\u7406
redis\u4e0edb\u7684\u6570\u636e\u4e00\u81f4\u6027

多个同构twemproxy(配置相同)同时工作,
接受客户端的请求,根据hash算法,转发给对应的redis。

优点:
- 开发简单,对应用几乎透明
- 历史悠久,方案成熟

缺点:
- 代理影响性能
- lvs和twemproxy会有节点性能瓶颈
- redis扩容非常麻烦
- twitter内部已放弃使用该方案,新使用的架构未开源

Codis:

ZooKeeper:
存放路由表和代理节点元数据
分发Codis-Config的命令
Codis-Config :
集成管理工具,有web界面
Codis-Proxy :
无状态代理,兼容Redis协议
对业务透明
Codis-Redis:
基于2.8版本,二次开发
加入slot支持和迁移命令

优点:
- 开发简单,对应用几乎透明
- 性能比Twemproxy好
- 有图形化界面,扩容容易,运维方便

缺点:
- 代理依旧影响性能
- 组件过多,需要很多机器资源
- 修改了redis代码,导致和官方无法同步,新特性跟进缓慢
- 开发团队准备主推基于redis改造的reborndb

Redis Cluster:

P2P模式,无中心化
把key分成16384个slot
每个实例负责一部分slot
客户端请求若不在连接的实例,该实例会转发给对应的实例。
通过Gossip协议同步节点信息

优点:
- 组件all-in-box,部署简单,节约机器资源
- 性能比proxy模式好
- 自动故障转移、Slot迁移中数据可用
- 官方原生集群方案,更新与支持有保障

缺点:
- 架构比较新,最佳实践较少
- 多键操作支持有限(驱动可以曲线救国)
- 为了性能提升,客户端需要缓存路由表信息
- 节点发现、reshard操作不够自动化



  • redis甯歌鐨闈㈣瘯闂閮鏈夊摢浜
    绛旓細鍏跺疄锛屼笉绠℃槸浠涔堟牱鐨闈㈣瘯褰紝闂殑闂閮藉樊涓嶅锛屼竾鍙樹笉绂诲叾瀹楋紝閮芥湁瑙勫緥鍙銆傚叾瀹炲鎵鏈夌殑闈㈣瘯瀹樿岃█锛屽彧鏈変竴涓洰鐨勶細鍦ㄦ渶鐭殑鏃堕棿閲屼簡瑙e埌浣犳渶澶氱殑淇℃伅銆傛兂楂樻晥鐜囩殑鍑嗗闈㈣瘯锛屽厛浠庤繖涓冧釜澶ф柟闈㈢潃鎵嬪惂锛佷竴銆佸熀鏈儏鍐 1銆佽鐢ㄦ渶绠娲佺殑璇█鎻忚堪鎮ㄤ粠鍓嶇殑宸ヤ綔缁忓巻鍜屽伐浣滄垚鏋溿備簩銆佷笓涓氳儗鏅 鎮ㄨ涓烘...
  • 鐜╄浆Redis鐨楂樺彲鐢(涓讳粠銆佸摠鍏点闆嗙兢)
    绛旓細Redis 楂樺彲鐢ㄧ殑涓昏鏈変笁绉嶆ā寮: 涓讳粠妯″紡, 鍝ㄥ叺妯″紡鍜闆嗙兢妯″紡銆 Redis 鎻愪緵浜 Redis 鎻愪緵浜嗗鍒(replication)鍔熻兘,褰撲竴鍙 redis 鏁版嵁搴撲腑鐨勬暟鎹彂鐢熶簡鍙樺寲,杩欎釜鍙樺寲浼氳鑷姩鍦板悓姝ュ埌鍏朵粬鐨 redis 鏈哄櫒涓婂幓銆 Redis 澶氭満鍣ㄩ儴缃叉椂,杩欎簺鏈哄櫒鑺傜偣浼氳鍒嗘垚涓ょ被,涓绫绘槸涓昏妭鐐(master 鑺傜偣),涓绫绘槸浠庤妭鐐(slave 鑺傜偣)銆
  • Redis涓讳粠妯″紡銆佸摠鍏垫ā寮忎互鍙奀luster 闆嗙兢妯″紡
    绛旓細濡傛灉涓涓富鏈嶅姟鍣 琚爣璁颁负涓昏涓嬬嚎锛屽苟涓旀湁 瓒冲鏁伴噺鐨 Sentinel锛堣嚦灏戣杈惧埌閰嶇疆鏂囦欢鎸囧畾鐨勬暟閲忥級鍦ㄦ寚瀹氱殑 鏃堕棿鑼冨洿 鍐呭悓鎰忚繖涓鍒ゆ柇锛岄偅涔堣繖涓涓绘湇鍔″櫒琚爣璁颁负 瀹㈣涓嬬嚎銆 鍝ㄥ叺妯″紡瑙e喅浜嗘晠闅滀笉鑳借嚜鍔ㄦ仮澶嶇殑闂锛屼絾浠嶅瓨鍦ㄧ殑闂鏄細Redis杈冮毦鏀寔鍦ㄧ嚎鎵╁锛屽浜闆嗙兢锛屽閲忚揪鍒颁笂闄愭椂鍦ㄧ嚎 鎵╁浼...
  • Redis闆嗙兢鏂规搴旇鎬庝箞鍋歘redis闆嗙兢鎼缓鏂瑰紡
    绛旓細楂樻ц兘璁$畻鏈闆嗙兢绯荤粺鏄竴涓槸鍩轰簬缃戠粶銆侀潰鍚戠鐮旂殑灏忓瀷楂樻ц兘骞惰璁$畻绯荤粺锛岃绯荤粺閫氳繃涓缁勬澗鏁i泦鎴愮殑璁$畻鏈鸿蒋浠跺拰纭欢楂樺害绱у瘑鍦板崗浣滃畬鎴愯绠楀伐浣溿傞氳繃灞鍩熺綉杩炴帴闆嗙兢绯荤粺涓殑鍗曚釜璁$畻鏈鸿妭鐐癸紝浣夸箣鍚屾椂瀹屾垚鍚屼竴涓伐浣滐紝浠ヨ揪鍒伴珮宸ヤ綔鏁堢巼銆侀珮璁$畻閫熷害鍜岄珮鍙潬鎬ц兘銆傝绯荤粺鐨勫熀纭鏄富鎺ц妭鐐广佽绠楄妭鐐圭瓑纭欢鍩虹...
  • redis鍝ㄥ叺闆嗙兢
    绛旓細Redis鍝ㄥ叺闆嗙兢锛氬畧鎶ゆ暟鎹箣宸呯殑楂樺彲鐢ㄦцВ鍐虫柟妗圧edis鍝ㄥ叺锛屼竴涓櫤鑳界殑瀹堟姢鑰咃紝纭繚浣犵殑鏁版嵁姘镐笉闂存柇锛岄氳繃鐩戞帶涓讳粠鏈嶅姟鍣紝涓鏃︿富鏈嶅姟鍣ㄥ嚭鐜版晠闅滐紝瀹冭兘绔嬪嵆鍚姩绱фュ垏鎹㈡満鍒讹紝纭繚鏈嶅姟鐨勬棤缂濊繛缁с備富浠庡垎绂荤殑鑹烘湳锛氶鍏堬紝瀹夎Redis锛屾瘡涓湇鍔¢兘閰嶅鐙壒鐨勮韩浠姐傚鍒堕厤缃枃浠跺埌鐙珛鐨勭洰褰曪紝涓烘瘡涓鑹插畾鍒朵笓灞...
  • 濡備綍瀹炵幇楂樺彲鐢ㄧ殑 redis 闆嗙兢
    绛旓細Redis 鍥犲叿鏈変赴瀵岀殑鏁版嵁缁撴瀯鍜岃秴楂樼殑鎬ц兘浠ュ強绠鍗曠殑鍗忚锛屼娇鍏惰兘澶熷緢濂界殑浣滀负鏁版嵁搴撶殑涓婃父缂撳瓨灞傘備絾鍦ㄥぇ瑙勬ā鐨 Redis 浣跨敤杩囩▼涓紝浼氬彈闄愪簬澶氫釜鏂归潰锛氬崟鏈哄唴瀛樻湁闄愩佸甫瀹藉帇鍔涖佸崟鐐闂銆佷笉鑳藉姩鎬佹墿瀹圭瓑銆傚熀浜庝互涓婏紝 Redis 闆嗙兢鏂规鏄惧緱灏や负閲嶈銆傞氬父鏈 3 涓斿緞锛氬畼鏂 Redis Cluster 锛涢氳繃 Proxy 鍒嗙墖...
  • 浠涔堟槸redis闆嗙兢
    绛旓細Redis 闆嗙兢鐨勬暟鎹垎鐗嘡edis 闆嗙兢娌℃湁浣跨敤涓鑷存ash, 鑰屾槸寮曞叆浜 鍝堝笇妲界殑姒傚康.Redis 闆嗙兢鏈16384涓搱甯屾Ы,姣忎釜key閫氳繃CRC16鏍¢獙鍚庡16384鍙栨ā鏉ュ喅瀹氭斁缃摢涓Ы.闆嗙兢鐨勬瘡涓妭鐐硅礋璐d竴閮ㄥ垎hash妲,涓句釜渚嬪瓙,姣斿褰撳墠闆嗙兢鏈3涓妭鐐,閭d箞:鑺傜偣 A 鍖呭惈 0 鍒 5500鍙峰搱甯屾Ы.鑺傜偣 B 鍖呭惈5501 鍒 11000 鍙...
  • redis 闆嗙兢閮ㄧ讲妯″紡鏈夊摢鍑犵
    绛旓細Redis鏈涓绯诲垪鐨勫懡浠わ紝鐗圭偣鏄互NX缁撳熬锛孨X鏄疦ot eXists鐨勭缉鍐欙紝濡係ETNX鍛戒护灏卞簲璇ョ悊瑙d负锛歋ET if Not eXists銆 杩欑郴鍒楃殑鍛戒护闈炲父鏈夌敤锛岃繖閲岃浣跨敤SETNX鏉ュ疄鐜板垎甯冨紡閿併 鐢⊿ETNX瀹炵幇鍒嗗竷寮忛攣 鍒╃敤SETNX闈炲父绠鍗曞湴瀹炵幇鍒嗗竷寮忛攣銆備緥濡傦細鏌愬鎴风瑕
  • 缇庡洟浜岄潰:涓轰粈涔Redis浼氭湁鍝ㄥ叺?
    绛旓細鍐嶈涓涓闂,Redis 1 涓 4 浠,5 涓摠鍏 ,quorum 璁剧疆涓 3,濡傛灉 2 涓摠鍏垫晠闅,褰撲富鑺傜偣瀹曟満鏃,鍝ㄥ叺鑳藉惁鍒ゆ柇涓昏妭鐐光滃瑙備笅绾库?鑳藉惁鑷姩鍒囨崲? 濡傛灉quorum 璁剧疆涓 2 鐨勮瘽,骞朵笖鏈 3 涓摠鍏垫晠闅溿傛鏃跺摠鍏闆嗙兢杩樻槸鍙互鍒ゅ畾涓昏妭鐐逛负鈥滃瑙備笅绾库,浣嗘槸鍝ㄥ叺涓嶈兘瀹屾垚涓讳粠鍒囨崲浜,澶у鍙互鑷繁鎺ㄦ紨涓嬨 quorum 鐨勫...
  • redis 闆嗙兢 鏄粈涔堟剰鎬
    绛旓細Redis 闆嗙兢鏄寚灏嗗涓 Redis 鑺傜偣缁勫悎鍦ㄤ竴璧凤紝浠ュ舰鎴愪竴涓粺涓鐨勩佸彲鎵╁睍鐨勬暟鎹瓨鍌ㄧ郴缁熴傝繖绉嶆柟娉曞彲浠ョ‘淇濇暟鎹湪鏁翠釜闆嗙兢涓殑涓鑷存у拰鍙敤鎬с傛濡傚垎甯冨紡绯荤粺鐨勬ц川涓鏍凤紝Redis 闆嗙兢鏄撲簬鎵╁睍锛屽叿鏈夋洿楂樼殑鍙潬鎬у拰鏇村ソ鐨勬墿灞曟с俁edis 闆嗙兢鏄氳繃鍦ㄤ笉鍚岀殑鑺傜偣涔嬮棿鍒嗛厤鏁版嵁鏉ュ疄鐜扮殑銆傛瘡涓妭鐐归兘鏈夎嚜宸辩殑鏁版嵁...
  • 扩展阅读:redis面试题大全 ... redis 缓存穿透 击穿 雪崩 ... web前端面试题2024 ... redis常见面试题及答案 ... redis面试必会6题经典 ... redis为什么三主三从集群 ... 几率大的redis面试题 ... 前端2024面试题最新 ... redis集群三主三从原理 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网